We want to hear from you!Take our 2021 Community Survey!
This site is no longer updated.Go to react.dev

Avertissement : React element factories and JSX

Fabriques d’éléments React et JSX

Vous êtes probablement sur cette page parce que votre code appelle votre composant comme une fonction classique. C’est désormais déprécié :

var MyComponent = require('MyComponent');

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

JSX

Les composants React ne peuvent plus être appelés ainsi directement. Utilisez plutôt JSX.

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

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

Sans JSX

Si vous ne voulez pas ou ne pouvez pas utiliser JSX, vous aurez besoin d’enrober votre composant dans une factory avant de l’appeler :

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

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

Ça permet une migration facile si vous avez beaucoup d’appels de fonctions de ce type.

Composants dynamiques sans JSX

Si vous obtenez dynamiquement la classe d’un composant, il est peut-être superflu de créer une factory que vous invoqueriez immédiatement. Vous pouvez plutôt simplement créer votre élément à la volée :

var React = require('react');

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

Aller plus loin

Lisez le détail des raisons qui ont motivé ce changement.

Avez-vous trouvé cette page utile ?Modifier cette page