Skip to content

Commit

Permalink
Updates PropTypes and CreateClass usage for React 15.5 warnings (#196)
Browse files Browse the repository at this point in the history
swap React.PropTypes for prop-types
swap React.CreateClass for create-react-class
  • Loading branch information
curquhart authored and STRML committed Apr 29, 2017
1 parent c01b674 commit e3e1b86
Show file tree
Hide file tree
Showing 27 changed files with 160 additions and 102 deletions.
5 changes: 3 additions & 2 deletions docs/a-elements.md
Expand Up @@ -14,8 +14,9 @@ Just wrap these sections with a `CaptureClicks` component:
var Locations = Router.Locations
var Location = Router.Location
var CaptureClicks = require('react-router-component/lib/CaptureClicks')
var CreateReactClass = require('create-react-class');

var Page = React.createClass({
var Page = CreateReactClass({
render: function() {
return (
<div>
Expand All @@ -28,7 +29,7 @@ Just wrap these sections with a `CaptureClicks` component:
}
})

var App = React.createClass({
var App = CreateReactClass({
render: function() {
return (
<CaptureClicks>
Expand Down
8 changes: 5 additions & 3 deletions docs/contextual.md
Expand Up @@ -4,7 +4,9 @@ Contextual router is a router which can be mounted under another router. Such
router is not aware of the global `location.pathname` and routes only the
unmatched part of the parent router.

var App = React.createClass({
var CreateReactClass = require('create-react-class');

var App = CreateReactClass({

render: function() {
return (
Expand All @@ -16,7 +18,7 @@ unmatched part of the parent router.
}
})

var Photos = React.createClass({
var Photos = CreateReactClass({

render: function() {
return (
Expand All @@ -38,7 +40,7 @@ If you use `Link` components inside a contextual router, its `href` would be
scoped to this router. In the following example, the link *"back to albums"*
would trigger transition to `/photos/` URL.

var PhotoPage = React.createClass({
var PhotoPage = CreateReactClass({

render: function() {
return (
Expand Down
4 changes: 3 additions & 1 deletion docs/hash-routing.md
Expand Up @@ -11,7 +11,9 @@ location but everything else will be working as expected.

To use hash routing you need to pass a `hash` prop to a router:

var App = React.createClass({
var CreateReactClass = require('create-react-class');

var App = CreateReactClass({

render: function() {
return (
Expand Down
10 changes: 7 additions & 3 deletions docs/index.md
Expand Up @@ -72,7 +72,9 @@ Otherwise, as of React 0.12, you must create factories:
Now you can define your application as a regular React component which renders
into `Locations` router:

var App = React.createClass({
var CreateReactClass = require('create-react-class');

var App = CreateReactClass({

render: function() {
return (
Expand Down Expand Up @@ -124,8 +126,9 @@ other location is matched. For that there's a special `NotFound` location
descriptor:

var NotFound = Router.NotFound
var CreateReactClass = require('create-react-class');

var App = React.createClass({
var App = CreateReactClass({

render: function() {
return (
Expand All @@ -148,8 +151,9 @@ As an example, let's see how `MainPage` component can be implemented with the
usage of the `Link` component to transition to a `UserPage`:

var Link = require('react-router-component').Link
var CreateReactClass = require('create-react-class');

var MainPage = React.createClass({
var MainPage = CreateReactClass({

render: function() {
return (
Expand Down
10 changes: 7 additions & 3 deletions docs/multiple.md
Expand Up @@ -5,7 +5,9 @@ You can have multiple routers active at the same time.
Define several components which use `Locations` router to dispatch to different
UI components:

var Sidebar = React.createClass({
var CreateReactClass = require('create-react-class');

var Sidebar = CreateReactClass({

render: function() {
return (
Expand All @@ -17,7 +19,7 @@ UI components:
}
})

var Content = React.createClass({
var Content = CreateReactClass({

render: function() {
return (
Expand All @@ -31,7 +33,9 @@ UI components:

Then combine them into a single component:

var App = React.createClass({
var CreateReactClass = require('create-react-class');

var App = CreateReactClass({

render: function() {
return (
Expand Down
11 changes: 7 additions & 4 deletions docs/querystring.md
Expand Up @@ -9,7 +9,10 @@ The route `/foo/:bar` will match both `/foo/biff` and `/foo/baz?biff=baz&num=1`.

For example:

var App = React.createClass({
var CreateReactClass = require('create-react-class');
var PropTypes = require('prop-types');

var App = CreateReactClass({

render: function() {
return (<Locations path={this.props.path)}
Expand All @@ -21,10 +24,10 @@ For example:
}
});

var QueryPage = React.createClass({
var QueryPage = CreateReactClass({
propTypes: {
bar: React.PropTypes.string,
_query: React.PropTypes.object
bar: prop-types.string,
_query: prop-types.object
},

render: function() {
Expand Down
3 changes: 2 additions & 1 deletion docs/recipes/custom-link.md
Expand Up @@ -8,8 +8,9 @@ which wraps original `Link` component:

var React = require('react')
var Router = require('react-router-component')
var CreateReactClass = require('create-react-class');

var HighlightedLink = React.createClass({
var HighlightedLink = CreateReactClass({

mixins: [Router.NavigatableMixin],

Expand Down
4 changes: 3 additions & 1 deletion docs/recipes/custom-router.md
Expand Up @@ -51,7 +51,9 @@ handler is rendered. It provides a method `renderRouteHandler()`.

We can now define our custom routers like this:

var Application = React.createClass({
var CreateReactClass = require('create-react-class');

var Application = CreateReactClass({
mixins: [MyRouterMixin],

routes: {
Expand Down
7 changes: 5 additions & 2 deletions docs/server-side.md
Expand Up @@ -9,7 +9,9 @@ need is to pass a `path` prop to a router so it can determine which location to
render without accessing `window.location.pathname` (which isn't available on
server):

var App = React.createClass({
var CreateReactClass = require('create-react-class');

var App = CreateReactClass({

render: function() {
return (
Expand Down Expand Up @@ -58,8 +60,9 @@ similar to `Locations` but renders directly into `<body>` DOM element.
var Router = require('react-router-component')
var Pages = Router.Pages
var Page = Router.Page
var CreateReactClass = require('create-react-class');

var App = React.createClass({
var App = CreateReactClass({

render: function() {
return (
Expand Down
7 changes: 4 additions & 3 deletions examples/context/index.js
@@ -1,6 +1,7 @@
"use strict";

var React = require('react');
var CreateReactClass = require('create-react-class');
var Router = require('../../');

var Locations = Router.Locations;
Expand All @@ -21,7 +22,7 @@ var Context = {
};


var Tabs = React.createClass({
var Tabs = CreateReactClass({

mixins: [Context],

Expand All @@ -45,14 +46,14 @@ var Tabs = React.createClass({
}
});

var Tab1 = React.createClass({
var Tab1 = CreateReactClass({

render: function() {
return <div>Tab1</div>;
}
});

var Tab2 = React.createClass({
var Tab2 = CreateReactClass({

render: function() {
return <div>Tab2</div>;
Expand Down
3 changes: 2 additions & 1 deletion examples/extras/AnimatedLocations.jsx
@@ -1,12 +1,13 @@
'use strict';
var React = require('react');
var CreateReactClass = require('create-react-class');
var Router = require('react-router-component');
var TransitionGroup = require('react/lib/ReactCSSTransitionGroup');

/**
* AnimatedLocations is an extension of the <Locations> object that animates route transitions.
*/
var AnimatedLocations = React.createClass({
var AnimatedLocations = CreateReactClass({
mixins: [
Router.AsyncRouteRenderingMixin,
Router.RouterMixin,
Expand Down
8 changes: 5 additions & 3 deletions examples/extras/TitleSwitcher.jsx
@@ -1,22 +1,24 @@
'use strict';
var React = require('react');
var CreateReactClass = require('create-react-class');
var PropTypes = require('prop-types');
var Router = require('react-router-component');

/**
* TitleSwitcher is an extension of Router that switches the title on render.
* The actual function that switches the title is not implemented here, as that
* can be environment-specific in isomorphic apps.
*/
var TitleSwitcher = React.createClass({
var TitleSwitcher = CreateReactClass({
mixins: [
Router.AsyncRouteRenderingMixin,
Router.RouterMixin,
React.addons.PureRenderMixin
],

propTypes: {
messages: React.PropTypes.object,
component: React.PropTypes.node
messages: PropTypes.object,
component: PropTypes.node
},

getDefaultProps: function() {
Expand Down
9 changes: 5 additions & 4 deletions examples/master-detail/index.js
Expand Up @@ -2,11 +2,12 @@

var React = require('react');
var ReactRouter = require('../../');
var CreateReactClass = require('create-react-class');
var Locations = ReactRouter.Locations;
var Location = ReactRouter.Location;
var Link = ReactRouter.Link;

var Master = React.createClass({
var Master = CreateReactClass({

render: function() {
var links = [1, 2, 3, 4, 5].map((item) =>
Expand All @@ -18,7 +19,7 @@ var Master = React.createClass({
}
});

var Detail = React.createClass({
var Detail = CreateReactClass({

render: function() {
return (
Expand All @@ -29,7 +30,7 @@ var Detail = React.createClass({
}
});

var Page = React.createClass({
var Page = CreateReactClass({

render: function() {
return (
Expand All @@ -41,7 +42,7 @@ var Page = React.createClass({
}
});

var App = React.createClass({
var App = CreateReactClass({

render: function() {
return (
Expand Down
7 changes: 4 additions & 3 deletions examples/querystring-key/index.js
Expand Up @@ -2,6 +2,7 @@

var qs = require('querystring');
var React = require('react');
var CreateReactClass = require('create-react-class');
var Router = require('../../');
var Environment = require('../../lib/Environment');

Expand Down Expand Up @@ -65,7 +66,7 @@ var Context = {
}
};

var Tabs = React.createClass({
var Tabs = CreateReactClass({

mixins: [Context],

Expand Down Expand Up @@ -95,14 +96,14 @@ var Tabs = React.createClass({
}
});

var Tab1 = React.createClass({
var Tab1 = CreateReactClass({

render: function() {
return <div>Tab1</div>;
}
});

var Tab2 = React.createClass({
var Tab2 = CreateReactClass({

render: function() {
return <div>Tab2</div>;
Expand Down
14 changes: 8 additions & 6 deletions lib/CaptureClicks.js
@@ -1,19 +1,21 @@
"use strict";

var React = require('react');
var CreateReactClass = require('create-react-class');
var PropTypes = require('prop-types');
var urllite = require('urllite/lib/core');
var Environment = require('./environment');
var HashEnvironment = require('./environment/HashEnvironment');
var assign = Object.assign || require('object-assign');
var omit = require('object.omit');

var PROP_TYPES = {
component: React.PropTypes.oneOfType([
React.PropTypes.string,
React.PropTypes.func
component: PropTypes.oneOfType([
PropTypes.string,
PropTypes.func
]).isRequired,
environment: React.PropTypes.object,
gotoURL: React.PropTypes.func
environment: PropTypes.object,
gotoURL: PropTypes.func
};

var PROP_KEYS = Object.keys(PROP_TYPES);
Expand All @@ -22,7 +24,7 @@ var PROP_KEYS = Object.keys(PROP_TYPES);
* A container component which captures <a> clicks and, if there's a matching
* route defined, routes them.
*/
var CaptureClicks = React.createClass({
var CaptureClicks = CreateReactClass({
displayName: 'CaptureClicks',

propTypes: PROP_TYPES,
Expand Down

0 comments on commit e3e1b86

Please sign in to comment.