Нет, браузеры не могут напрямую понять код JSX. JSX — это расширение синтаксиса, которое нужно преобразовать в стандартный JavaScript перед выполнением в браузере.
Чтобы JSX стал исполняемым, тебе нужен транспайлер, который преобразует твой код в обычный JavaScript. Транспайлер читает JSX-синтаксис и трансформирует его в эквивалентные вызовы JavaScript-функций, которые браузеры могут интерпретировать и выполнять.
Babel — это самый популярный транспайлер для преобразования JSX в JavaScript. Он автоматически трансформирует JSX-элементы в вызовы React.createElement(), которые браузеры могут обработать нативно.
Например, Babel преобразует этот JSX:
<h1 className="greeting">Hello World</h1>
В такой стандартный JavaScript:
React.createElement('h1', { className: 'greeting' }, 'Hello World')
Современные инструменты React справляются с этим преобразованием автоматически:
Это автоматическое преобразование означает, что ты можешь писать код с JSX-синтаксисом во время разработки, а браузеры получат полностью совместимый JavaScript во время выполнения.
Браузеры могут напрямую выполнять JSX код без предварительной обработки, что делает его идеальным синтаксисом для разработки React на клиентской стороне.
Новый — ещё не проверен сообществом
Вы