You probably came here because your code is calling your component as a plain function call. This is now deprecated:
var MyComponent =require("MyComponent");functionrender() {returnMyComponent({ foo:"bar" }); // WARNING}
JSX
React components can no longer be called directly like this. Instead you can use JSX.
var React =require("react");var MyComponent =require("MyComponent");functionrender() {return <MyComponentfoo="bar" />;}
Without JSX
If you don't want to, or can't use JSX, then you'll need to wrap your component in a factory before calling it:
var React =require("react");var MyComponent =React.createFactory(require("MyComponent"));functionrender() {returnMyComponent({ foo:"bar" });}
This is an easy upgrade path if you have a lot of existing function calls.
Dynamic components without JSX
If you get a component class from a dynamic source, then it might be unnecessary to create a factory that you immediately invoke. Instead you can just create your element inline:
var React =require("react");functionrender(MyComponent) {returnReact.createElement(MyComponent, { foo:"bar" });}