74 lines
2.0 KiB
Markdown
74 lines
2.0 KiB
Markdown
|
---
|
||
|
title: JSX
|
||
|
localeTitle: JSX
|
||
|
---
|
||
|
# JSX
|
||
|
|
||
|
> JSX مختصرة لـ JavaScript XML.
|
||
|
|
||
|
JSX هو تعبير يستخدم عبارات HTML صالحة داخل JavaScript. يمكنك تعيين هذا التعبير لمتغير واستخدامه في مكان آخر. يمكنك الجمع بين تعبيرات JavaScript سارية أخرى و JSX في عبارات HTML هذه من خلال وضعها ضمن أقواس ( `{}` ). تقوم بابل كذلك بتجميع JSX إلى كائن من النوع `React.createElement()` .
|
||
|
|
||
|
### تعبيرات أحادية السطر ومتعددة الأسطر
|
||
|
|
||
|
تعبير سطر مفرد سهل الاستخدام.
|
||
|
|
||
|
`const one = <h1>Hello World!</h1>;
|
||
|
`
|
||
|
|
||
|
عندما تحتاج إلى استخدام أسطر متعددة في تعبير JSX واحد ، اكتب الرمز داخل قوس واحد.
|
||
|
|
||
|
`const two = (
|
||
|
<ul>
|
||
|
<li>Once</li>
|
||
|
<li>Twice</li>
|
||
|
</ul>
|
||
|
);
|
||
|
`
|
||
|
|
||
|
### باستخدام علامات HTML فقط
|
||
|
|
||
|
`const greet = <h1>Hello World!</h1>;
|
||
|
`
|
||
|
|
||
|
### الجمع بين تعبير JavaScript مع علامات HTML
|
||
|
|
||
|
يمكننا استخدام متغيرات جافا سكريبت في الأقواس.
|
||
|
|
||
|
`const who = "Quincy Larson";
|
||
|
const greet = <h1>Hello {who}!</h1>;
|
||
|
`
|
||
|
|
||
|
يمكننا أيضًا استدعاء وظائف JavaScript الأخرى داخل الأقواس.
|
||
|
|
||
|
`function who() {
|
||
|
return "World";
|
||
|
}
|
||
|
const greet = <h1>Hello {who()}!</h1>;
|
||
|
`
|
||
|
|
||
|
### يُسمح فقط بعلامة أصل واحدة
|
||
|
|
||
|
يجب أن يحتوي تعبير JSX على علامة رئيسية واحدة فقط. يمكننا إضافة عدة علامات متداخلة داخل العنصر الأصل فقط.
|
||
|
|
||
|
`// This is valid.
|
||
|
const tags = (
|
||
|
<ul>
|
||
|
<li>Once</li>
|
||
|
<li>Twice</li>
|
||
|
</ul>
|
||
|
);
|
||
|
|
||
|
// This is not valid.
|
||
|
const tags = (
|
||
|
<h1>Hello World!</h1>
|
||
|
<h3>This is my special list:</h3>
|
||
|
<ul>
|
||
|
<li>Once</li>
|
||
|
<li>Twice</li>
|
||
|
</ul>
|
||
|
);
|
||
|
`
|
||
|
|
||
|
### معلومات اكثر
|
||
|
|
||
|
* [تقديم JSX](https://reactjs.org/docs/introducing-jsx.html)
|