"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يتم تحويل React JSX إلى JavaScript خلف الكواليس

كيف يتم تحويل React JSX إلى JavaScript خلف الكواليس

تم النشر بتاريخ 2024-11-06
تصفح:146

How React JSX Gets Transformed Into JavaScript Behind the Scenes

عندما تكتب React، غالبًا ما ترى JSX - وهو بناء جملة يشبه HTML داخل كود JavaScript الخاص بك. ولكن هل تساءلت يومًا كيف يعمل هذا الرمز في المتصفح؟

هذا هو السحر: JSX غير صالح لجافا سكريبت! لا يمكن للمتصفحات فهمها مباشرة. خلف الكواليس، تتدخل أداة مثل 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.جافا سكريبت في المتصفح - أخيرًا، جافا سكريبت القياسية هذه هي ما ينفذه المتصفح، مما يؤدي إلى بناء DOM ديناميكيًا.

كيف تعمل بابل؟

Babel هو مترجم JavaScript قوي يمكّنك من استخدام أحدث ميزات JavaScript (بما في ذلك JSX في React) مع ضمان التوافق عبر المتصفحات والبيئات المختلفة. وفيما يلي تفصيل لكيفية عمل بابل:
1.التحليل
يبدأ Babel بتحليل كود JavaScript أو JSX الحديث الخاص بك إلى شجرة تركيب مجردة (AST). AST عبارة عن بنية مفصلة تشبه الشجرة تمثل الكود بطريقة سهلة لـ Babel (والأدوات الأخرى) للتحليل والتلاعب. خلال هذه الخطوة، يقرأ بابل الكود ولكنه لا يغيره بعد.
على سبيل المثال، يأخذ Babel كود JSX التالي:

const element = 

Hello, World!

;

ويولد AST، الذي يمثل بنية هذا الكود.
2.التحويل
بعد ذلك، يطبق بابل سلسلة من المكونات الإضافية على AST. كل مكون إضافي مسؤول عن تحويل أجزاء معينة من AST وفقًا للقواعد التي يحددها. يمكن أن تتضمن هذه التحويلات تحويل بناء جملة JavaScript الحديث (مثل وظائف الأسهم أو غير المتزامن/الانتظار) إلى إصدارات أقدم متوافقة مع المتصفح. بالنسبة لـ JSX، يقوم Babel بتحويل:

const element =

مرحبا بالعالم!

;
const element = 

Hello, World!

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

3. إنشاء الكود بمجرد الانتهاء من جميع التحويلات، يقوم Babel
بإنشاء كود JavaScript من AST المحول. هذه هي الخطوة الأخيرة حيث يتم إنتاج مخرجات يمكن قراءتها بواسطة الإنسان، والتي يمكن للمتصفح أو Node.js تنفيذها.

لنختتم...

لماذا يهم:

تسمح لك JSX بكتابة تعليمات برمجية أكثر سهولة لواجهة المستخدم تعتمد على المكونات، لكن Babel ووقت تشغيل JavaScript هو ما يضفي عليها الحيوية. يساعدك فهم هذا التحويل على استكشاف الأخطاء وإصلاحها بشكل أفضل وكتابة المزيد من تطبيقات React المحسنة.

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/kashif_allah_dev/how-react-jsx-gets-transformed-into-javascript-behind-the-scenes-467f?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ Study_golang@163 .com لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3