Да, JSX не обязателен для использования React. Хотя JSX удобен и широко используется, ты можешь строить React-приложения полностью без него, используя React.createElement() напрямую.
Главное преимущество — это избежать необходимости в шаге компиляции в твоей среде сборки. Это может упростить настройку проекта для небольших приложений или быстрого прототипирования.
Каждый JSX-элемент — это синтаксический сахар, который компилируется в вызов React.createElement(). Понимание этого преобразования — ключ к использованию React без JSX.
С JSX:
class Greeting extends React.Component {
render() {
return <div>Hello {this.props.message}</div>;
}
}
ReactDOM.render(<Greeting message="World" />, document.getElementById('root'));
Без JSX:
class Greeting extends React.Component {
render() {
return React.createElement('div', null, `Hello ${this.props.message}`);
}
}
ReactDOM.render(
React.createElement(Greeting, {message: 'World'}, null),
document.getElementById('root')
);
Оба подхода дают идентичный результат. JSX-версия более читаемая и удобная в поддержке для большинства разработчиков, а подход без JSX даёт большую гибкость, когда инструменты сборки недоступны или нежелательны. Выбор зависит от требований твоего проекта и ограничений среды разработки.
JSX — это синтаксический сахар, который во время сборки компилируется прямо в вызовы React.createElement().
Новый — ещё не проверен сообществом
Вы