Этот сайт больше не обновляется.Перейдите на react.dev

Фабрики React-элементов и JSX-предупреждение

Вы, вероятно, пришли сюда, потому что ваш код вызывает компонент как функцию. Теперь это устарело:

var MyComponent = require('MyComponent');

function render() {
  return MyComponent({ foo: 'bar' });  // ПРЕДУПРЕЖДЕНИЕ
}

JSX

Компоненты React больше не могут вызываться таким образом. Вместо этого вы можете использовать JSX.

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

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

Без JSX

Если вы не хотите или не можете использовать JSX, тогда перед вызовом компонента вам необходимо перевести его в фабрику:

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

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

Это простой путь обновления, если у вас много вызовов функций.

Динамические компоненты без JSX

Если вы получаете класс компонента из динамического источника, то необязательно создавать фабрику, на которую вы немедленно ссылаетесь. Вместо этого вы можете напрямую создать элемент:

var React = require('react');

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

Подробнее

Узнайте подробнее, ПОЧЕМУ мы делаем это изменение.