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

React sans JSX

These docs are old and won’t be updated. Go to react.dev for the new React docs.

Vous n’ĂȘtes pas obligé·e d’employer JSX pour utiliser React. React sans JSX vous dispense de configurer votre environnement de travail pour gĂ©rer la compilation de votre code.

Chaque Ă©lĂ©ment JSX n’est rien de plus que du sucre syntaxique pour React.createElement(component, props, ...children). Par consĂ©quent, tout ce que vous pouvez faire avec JSX peut aussi ĂȘtre rĂ©alisĂ© en Javascript brut.

Prenons par exemple ce code Ă©crit avec JSX :

class Hello extends React.Component {
  render() {
    return <div>Bonjour {this.props.toWhat}</div>;
  }
}

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<Hello toWhat="monde" />);

Il peut ĂȘtre compilĂ© vers ce code qui n’utilise pas JSX :

class Hello extends React.Component {
  render() {
    return React.createElement('div', null, `Bonjour ${this.props.toWhat}`);
  }
}

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(React.createElement(Hello, {toWhat: 'monde'}, null));

Si vous voulez voir plus d’exemples de conversion de code JSX en JavaScript brut, vous pouvez essayer le compilateur Babel en ligne.

Le composant peut ĂȘtre soit une chaĂźne de caractĂšres, soit une sous-classe de React.Component, soit une fonction simple.

Si vous n’avez pas envie de taper React.createElement Ă  chaque fois, vous pouvez Ă  la place crĂ©er un raccourci :

const e = React.createElement;

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(e('div', null, 'Bonjour, monde'));

Si vous utilisez un tel raccourci pour React.createElement, utiliser React sans JSX devient presque aussi pratique.

Dans le mĂȘme esprit, vous pouvez aller regarder des projets tels que react-hyperscript ou hyperscript-helpers, qui proposent une syntaxe encore plus concise.

Avez-vous trouvĂ© cette page utile ?Modifier cette page