We want to hear from you!Take our 2021 Community Survey!
Este site não é mais atualizado.Vá para pt-br.react.dev

React Element Factories e JSX Warning

Você provavelmente chegou até aqui porque seu código está chamando seu componente como uma chamada de função simples. Isso está obsoleto agora:

var MyComponent = require('MyComponent');

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

JSX

Componentes React não podem mais ser chamados diretamente dessa forma. Ao invés disso, você pode usar JSX.

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

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

Sem JSX

Se você não quiser, ou não puder usar JSX, terá que fazer um wrap do seu componente em uma factory antes de chamá-lo:

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

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

Essa é uma maneira fácil de atualização se você tiver muitas chamadas de função existentes.

Componentes dinâmicos sem JSX

Se você obtiver uma classe de componente de uma fonte dinâmica, talvez não seja necessário criar uma factory que você invoque imediatamente. Em vez disso, você pode simplesmente criar seu elemento inline:

var React = require('react');

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

Mais a fundo

Leia mais sobre POR QUE estamos fazendo essa mudança.

Esta página é útil?Edite esta página