React без JSX¶
JSX не является обязательным для работы с React. React можно использовать без JSX. Это особенно удобно, когда вы не хотите настраивать транспиляцию в процессе сборки.
Каждый JSX-элемент — это просто синтаксический сахар для вызова React.createElement(component, props, ...children)
. Так что всё, что вы можете сделать при помощи JSX, может быть сделано на чистом JavaScript.
Например, вот код с JSX:
1 2 3 4 5 6 7 8 9 10 |
|
Он может быть превращён в код без JSX:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
Компонент может быть представлен в виде строки, класса-наследника от React.Component
или обычной функции в случае компонента без состояния.
Если вас утомляет печатать React.createElement
, то распространённой практикой является создать сокращение:
1 2 3 4 5 6 |
|
Если вы примените эту сокращённую форму для React.createElement
, то использование React без JSX станет почти таким же удобным, как вы привыкли.
Кроме того, вы можете посмотреть на такие проекты как react-hyperscript
и hyperscript-helpers
, которые предлагают короткий синтаксис.