React Render HTML
🔹 React Render HTML (رندر کردن HTML در React)
در این درس یاد میگیری چطور React محتوای HTML رو روی صفحه نشون میده، JSX چیه، و چطور تگهای HTML رو داخل کامپوننتها بنویسی.
🔸 JSX چیست؟
در React برای نوشتن HTML داخل JavaScript از JSX استفاده میکنیم.
JSX در واقع ترکیبی از JavaScript + HTML هست که در نهایت توسط Babel به JavaScript خالص تبدیل میشه.
🔹 مثال ساده:
📌 این کد در واقع معادل کد زیره:
✅ JSX فقط سینتکس راحتتر و قابلخواندنتری برای نوشتن React Elementهاست.
🔸 رندر کردن در React
هر اپلیکیشن React از یک نقطهی رندر شروع میشه — معمولاً از فایل index.js
:
📌 عنصر <App />
درون تگ <div id="root"></div>
در فایل public/index.html
رندر میشه.
🔸 نمایش HTML در JSX
درون App.js
میتونی مستقیماً HTML بنویسی:
📌 خروجی:
✅ JSX از تمام تگهای HTML استاندارد پشتیبانی میکنه.
🔸 قوانین مهم JSX
-
فقط یک عنصر ریشه باید برگردونده بشه:
-
باید از کروشه
{}
برای قرار دادن مقدارهای جاوااسکریپتی استفاده کنی: -
JSX باید تگهای بستهشده داشته باشه:
🔸 رندر کردن متغیرها
میتونی مقدار متغیرها یا توابع رو درون JSX بنویسی:
📌 خروجی:
🔸 رندر کردن شرطی
میتونی از شرطها هم داخل JSX استفاده کنی:
📌 خروجی:
اگر isLoggedIn
برابر true
باشه → Welcome Back!
در غیر این صورت → Please Log In
🔸 نمایش لیستها
میتونی آرایهای از دادهها رو با متد ()map
در JSX نمایش بدی:
📌 خروجی:
🔸 رندر کردن HTML از رشته (خطرناک!)
اگر یک رشته حاوی HTML داری و میخوای همونطور نمایش داده بشه، از
dangerouslySetInnerHTML
استفاده میشه 👇
📌 خروجی:
⚠️ اما فقط در مواقع خاص از این روش استفاده کن، چون ممکنه باعث حملهی XSS (Cross-Site Scripting) بشه.
✅ خلاصه
مفهوم | توضیح |
---|---|
JSX | ترکیب HTML و JavaScript |
رندر اصلی | در index.js داخل root انجام میشه |
قوانین JSX | یک ریشه، تگهای بستهشده، و استفاده از {} |
شرط و حلقه | با ? : و ()map |
dangerouslySetInnerHTML | نمایش رشتهی HTML (با احتیاط) |
✅ نتیجه:
در این درس یاد گرفتی چطور با JSX در React عناصر HTML رو رندر کنی، از متغیرها، شرطها و لیستها استفاده کنی، و قوانین JSX رو رعایت کنی.