We want to hear from you!Take our 2021 Community Survey!
Ta witryna nie jest już aktualizowana.Przejdź do react.dev

React Element Factories and JSX Warning

Jesteś tu najprawdopodobniej z tego powodu, że wywołujesz w kodzie komponent jak zwykłą funkcję. Poniższy kod jest uznawany za przestarzały:

var MyComponent = require('MyComponent');

function render() {
  return MyComponent({ foo: 'bar' });  // OSTRZEŻENIE
}

JSX

Nie można już w ten sposób wywoływać komponentów reactowych. Zamiast tego użyj składni JSX.

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

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

Bez JSX

Jeśli nie chcesz (lub nie możesz) skorzystać ze składni JSX, przed wywołaniem komponentu opakuj go w fabrykę (ang. factory):

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

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

Ten sposób umożliwia łatwą aktualizację kodu, w którym jest pełno wywołań funkcyjnych.

Dynamiczne komponenty bez JSX

Jeśli otrzymujesz klasę komponentu z dynamicznego źródła, tworzenie fabryki i jej wywoływanie może okazać się zbyteczne. Zamiast tego stwórz komponent bezpośrednio:

var React = require('react');

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

Więcej szczegółów

Przeczytaj o tym, DLACZEGO wprowadziliśmy taką zmianę.

Is this page useful?Edytuj tę stronę