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
Avez-vous trouvé cette page utile ?Modifier cette page