«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как React JSX за кулисами трансформируется в JavaScript

Как React JSX за кулисами трансформируется в JavaScript

Опубликовано 6 ноября 2024 г.
Просматривать:245

How React JSX Gets Transformed Into JavaScript Behind the Scenes

Когда вы пишете React, вы часто встречаете JSX — синтаксис, похожий на HTML, в вашем коде JavaScript. Но задумывались ли вы когда-нибудь, как этот код работает в браузере?

Вот волшебство: JSX не является допустимым JavaScript! Браузеры не могут понять это напрямую. За кулисами появляется такой инструмент, как Babel, который конвертирует (или «транспилирует») JSX в обычный JavaScript.

Процесс:

1.Вы пишете JSX — он выглядит как HTML, но живет внутри ваших компонентов React. Например:

const element = 

Hello, World!

;

2.Babel преобразует его — в процессе сборки Babel преобразует JSX в чистый JavaScript с помощью React.createElement:

const element = React.createElement('h1', null, 'Hello, World!');

3.JavaScript в браузере — Наконец, этот стандартный JavaScript — это то, что выполняет браузер, динамически создавая DOM.

Как работает Бабель?

Babel — это мощный компилятор JavaScript, который позволяет использовать новейшие функции JavaScript (включая JSX в React), обеспечивая при этом совместимость с различными браузерами и средами. Вот как работает Babel:
1.Разбор
Babel начинает с анализа вашего современного кода JavaScript или JSX в Абстрактное синтаксическое дерево (AST). AST — это подробная древовидная структура, которая представляет код в удобном для Babel (и других инструментов) виде. анализировать и манипулировать. На этом этапе Babel читает код, но еще не меняет его.
Например, Babel использует этот JSX-код:

const element = 

Hello, World!

;

И генерирует AST, который представляет структуру этого кода.
2.Трансформация
Затем Babel применяет серию плагинов к AST. Каждый плагин отвечает за преобразование определенных частей AST в соответствии с правилами, которые он определяет. Эти преобразования могут включать преобразование современного синтаксиса JavaScript (например, стрелочных функций или async/await) в более старые, совместимые с браузером версии.
Для JSX Babel преобразует:

const element = 

Hello, World!

;
const element = React.createElement('h1', null, 'Hello, World!');

3. Генерация кода
После завершения всех преобразований Babel генерирует код JavaScript из преобразованного AST. Это последний шаг, на котором создается удобочитаемый вывод, который может выполнить браузер или Node.js.

Давайте подведем итоги...

Почему это важно:

JSX позволяет писать более интуитивный, основанный на компонентах код пользовательского интерфейса, но именно Babel и среда выполнения JavaScript воплощают его в жизнь. Понимание этого преобразования поможет вам лучше устранять неполадки и писать более оптимизированные приложения React.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/kashif_ullah_dev/how-react-jsx-gets-transformed-into-javascript-behind-the-scenes-467f?1 Если есть какие-либо нарушения, пожалуйста, свяжитесь с Study_golang@163 .com, чтобы удалить его
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3