We want to hear from you!Take our 2021 Community Survey!
Este sitio ya no se actualiza.Vaya a react.dev

React Element Factories and JSX Warning

Probablemente llegaste aquí porque tu código está llamando tu componente como una función. Esto es ahora obsoleto:

var MyComponent = require('MyComponent');

function render() {
  return MyComponent({ foo: 'bar' });  // WARNING
}

JSX

Los componentes de React ya no pueden ser llamados directamente de esta manera. En su lugar puedes usar JSX.

var React = require('react');
var MyComponent = require('MyComponent');

function render() {
  return <MyComponent foo="bar" />;
}

Sin JSX

Si no quieres o no puedes usar JSX, tendrás entonces que envolver tu componente en un factory antes de llamarlo:

var React = require('react');
var MyComponent = React.createFactory(require('MyComponent'));

function render() {
  return MyComponent({ foo: 'bar' });
}

Esta es una ruta de actualización fácil si ya tienes muchas llamadas como función.

Componentes dinámicos sin JSX

Si recibes un componente de clase de forma dinámica, entonces probablemente sea innecesario crear un factory para invocarlo inmediatamente. En su lugar puedes simplemente crear tu elemento en línea:

var React = require('react');

function render(MyComponent) {
  return React.createElement(MyComponent, { foo: 'bar' });
}

En profundidad

Lee más acerca de POR QUÉ estamos haciendo este cambio.

¿Es útil esta página?Edita esta página