Skip to content

Commit 03f0f68

Browse files
authored
from line 1 to line 230
1 parent 14d27ab commit 03f0f68

File tree

1 file changed

+32
-32
lines changed

1 file changed

+32
-32
lines changed

src/content/learn/javascript-in-jsx-with-curly-braces.md

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
---
2-
title: JavaScript في JSX باستخدام الأقواس المعقوفة
2+
title: JavaScript في JSX باستخدام الأقواس المنحنية
33
---
44

55
<Intro>
66

7-
تتيح لك JSX كتابة ترميز شبيه بـ HTML داخل ملف JavaScript، مما يسمح بالحفاظ على منطق التصيير والمحتوى في المكان نفسه. في بعض الأحيان، قد ترغب في إضافة بعض منطق لغة JavaScript أو الإشارة إلى خاصية ديناميكية داخل هذا الترميز. في هذه الحالة، يمكنك استخدام الأقواس المعقوفة داخل JSX الخاص بك لفتح نافذة للغة JavaScript.
7+
تتيح لك JSX كتابة ترميز شبيه بـ HTML داخل ملف JavaScript، مما يسمح بالحفاظ على منطق التصيير والمحتوى في المكان نفسه. في بعض الأحيان، قد ترغب في إضافة بعض منطق لغة JavaScript أو الإشارة إلى خاصية ديناميكية داخل هذا الترميز. في هذه الحالة، يمكنك استخدام الأقواس المنحنية داخل JSX الخاص بك لفتح نافذة للغة JavaScript.
88

99
</Intro>
1010

1111
<YouWillLearn>
1212

13-
* كيفية تمرير strings باستخدام علامات التنصيص
13+
* كيفية تمرير النصوص (string) باستخدام علامات التنصيص
1414
* كيفية الإشارة إلى متغير JavaScript داخل JSX باستخدام الأقواس المعقوفة
15-
* كيفية استدعاء دالة JavaScript داخل JSX باستخدام الأقواس المعقوفة
15+
* كيفية استدعاء دالة JavaScript داخل JSX باستخدام الأقواس المنحنية
1616
* كيفية استخدام كائن JavaScript داخل JSX باستخدام الأقواس المعقوفة
1717

1818
</YouWillLearn>
1919

20-
## تمرير strings باستخدام علامات التنصيص {/*passing-strings-with-quotes*/}
20+
## تمرير النصوص باستخدام علامات التنصيص {/*passing-strings-with-quotes*/}
2121

22-
عندما ترغب في تمرير خاصية string إلى JSX، يتم وضعها بين علامات تنصيص مفردة أو مزدوجة:
22+
عندما ترغب في تمرير نص إلى JSX، يتم وضعها بين علامات تنصيص مفردة أو مزدوجة:
2323

2424
<Sandpack>
2525

@@ -41,7 +41,7 @@ export default function Avatar() {
4141

4242
</Sandpack>
4343

44-
هنا ، يتم تمرير `"https://i.imgur.com/7vQD0fPs.jpg"` و `"Gregorio Y. Zara"` في صورة strings.
44+
هنا، يتم تمرير `"https://i.imgur.com/7vQD0fPs.jpg"` و `"Gregorio Y. Zara"` كنصوص.
4545

4646
ولكن ماذا لو كنت ترغب في تحديد `src` أو نص `alt` بشكل ديناميكي؟ يمكنك **استخدام قيمة من JavaScript عن طريق استبدال `"`و `"` بـ `{`و `}`**:
4747

@@ -67,19 +67,19 @@ export default function Avatar() {
6767

6868
</Sandpack>
6969

70-
لاحظ الاختلاف بين `className="avatar"`، الذي يحدد اسم صنف CSS `"avatar"` الذي يجعل الصورة دائرية، و `src={avatar}` الذي يقرأ قيمة متغير JavaScript المسمى `avatar`. هذا لأن الأقواس المعقوفة تتيح لك العمل مع لغة JavaScript مباشرة داخل الترميز الخاصة بك!
70+
لاحظ الاختلاف بين `className="avatar"`، الذي يحدد اسم فئة CSS `"avatar"` الذي يجعل الصورة دائرية، و`src={avatar}` الذي يقرأ قيمة متغير JavaScript المسمى `avatar`. هذا لأن الأقواس المنحنية تتيح لك العمل مع لغة JavaScript مباشرة داخل الترميز الخاصة بك!
7171

72-
## استخدام الأقواس المعقوفة: نافذة إلى عالم JavaScript {/*using-curly-braces-a-window-into-the-javascript-world*/}
72+
## استخدام الأقواس المنحنية: نافذة إلى عالم JavaScript {/*using-curly-braces-a-window-into-the-javascript-world*/}
7373

74-
JSX هي طريقة خاصة لكتابة JavaScript. وهذا يعني أنه يمكن استخدام JavaScript داخلها - باستخدام الأقواس المعقوفة `{ }`. في المثال أدناه، يتم تعريف اسم للعالم، `name`، ثم يتم تضمينه بواسطة الأقواس المعقوفة داخل عنصر `<h1>`.
74+
JSX هي طريقة خاصة لكتابة JavaScript. وهذا يعني أنه يمكن استخدام JavaScript داخلها - باستخدام الأقواس المعقوفة `{ }`. في المثال أدناه، يتم تعريف اسم للعالِم، `name`، ثم يتم تضمينه بواسطة الأقواس المنحنية داخل عنصر `<h1>`.
7575

7676
<Sandpack>
7777

7878
```js
7979
export default function TodoList() {
8080
const name = 'Gregorio Y. Zara';
8181
return (
82-
<h1>{name}'s To Do List</h1>
82+
<h1>قائمة مهام {name}</h1>
8383
);
8484
}
8585
```
@@ -103,25 +103,25 @@ function formatDate(date) {
103103

104104
export default function TodoList() {
105105
return (
106-
<h1>To Do List for {formatDate(today)}</h1>
106+
<h1>قائمة مهام لـ {formatDate(today)}</h1>
107107
);
108108
}
109109
```
110110

111111
</Sandpack>
112112

113-
### أين يجب استخدام الأقواس المعقوفة؟ {/*where-to-use-curly-braces*/}
113+
### أين يجب استخدام الأقواس المنحنية؟ {/*where-to-use-curly-braces*/}
114114

115-
يمكنك استخدام الأقواس المعقوفة في JSX بطريقتين فقط:
115+
يمكنك استخدام الأقواس المنحنية في JSX بطريقتين فقط:
116116

117117
1. **كنص** مباشرة داخل وسم JSX: `<h1>{name}'s قائمة المهام</h1>` يعمل، ولكن `<{tag}>قائمة المهام لـ Gregorio Y. Zara</{tag}>` لن يعمل.
118-
2. **كخصائص** تأتي فورًا بعد علامة `=`: `src={avatar}` ستقرأ قيمة المتغير `avatar`، ولكن `src="{avatar}"` ستمرر `"{avatar}"` في صورة string.
118+
2. **كخصائص** تأتي فورًا بعد علامة `=`: `src={avatar}` ستقرأ قيمة المتغير `avatar`، ولكن `src="{avatar}"` ستمرره `"{avatar}"` كنص.
119119

120-
## استخدام "أقواس معقوفة مزدوجة": CSS وكائنات أخرى داخل JSX {/*using-double-curlies-css-and-other-objects-in-jsx*/}
120+
## استخدام "أقواس منحنية مزدوجة": CSS وكائنات أخرى داخل JSX {/*using-double-curlies-css-and-other-objects-in-jsx*/}
121121

122-
بالإضافة إلى strings والأرقام وتعابير JavaScript الأخرى، يمكنك تمرير الكائنات في JSX. يتم تمييز الكائنات أيضًا بواسطة الأقواس المعقوفة، مثل `{ name: "Hedy Lamarr", inventions: 5 }`. لذلك، لتمرير كائن JavaScript في JSX، يجب عليك إحاطة الكائن بزوج آخر من الأقواس المعقوفة: `person={{ name: "Hedy Lamarr", inventions: 5 }}`.
122+
بالإضافة إلى النصوص والأرقام وتعابير JavaScript الأخرى، يمكنك تمرير الكائنات في JSX. يتم تمييز الكائنات أيضًا بواسطة الأقواس المنحنية، مثل `{ name: "Hedy Lamarr", inventions: 5 }`. لذلك، لتمرير كائن JavaScript في JSX، يجب عليك إحاطة الكائن بزوج آخر من الأقواس المنحنية: `person={{ name: "Hedy Lamarr", inventions: 5 }}`.
123123

124-
قد ترى ذلك في أنماط CSS المضمنة في JSX. React لا تتطلب منك استخدام أنماط CSS مضمنة (صنف CSS يعمل جيداً في معظم الحالات). ولكن عندما تحتاج إلى أسلوب مضمن، يمكنك تمرير كائن إلى خاصية `style`:
124+
قد ترى ذلك في أنماط CSS المضمنة فيJSX. React لا تتطلب منك استخدام أنماط CSS مضمنة (فئة CSS يعمل جيداً في معظم الحالات). ولكن عندما تحتاج إلى أسلوب مضمن، يمكنك تمرير كائن إلى خاصية `style`:
125125

126126
<Sandpack>
127127

@@ -132,9 +132,9 @@ export default function TodoList() {
132132
backgroundColor: 'black',
133133
color: 'pink'
134134
}}>
135-
<li>Improve the videophone</li>
136-
<li>Prepare aeronautics lectures</li>
137-
<li>Work on the alcohol-fuelled engine</li>
135+
<li>تحسين الهاتف</li>
136+
<li>تجهيز محاضرات عن الطيران</li>
137+
<li>العمل على محرك بالوقود الكحولي</li>
138138
</ul>
139139
);
140140
}
@@ -149,7 +149,7 @@ ul { padding: 20px 20px 20px 40px; margin: 0; }
149149

150150
حاول تغيير قيم `backgroundColor` و `color`.
151151

152-
يمكنك رؤية كائن JavaScript بوضوح داخل الأقواس المعقوفة عندما تكتبه بهذه الطريقة:
152+
يمكنك رؤية كائن JavaScript بوضوح داخل الأقواس المنحنية عندما تكتبه بهذه الطريقة:
153153

154154
```js {2-5}
155155
<ul style={
@@ -160,17 +160,17 @@ ul { padding: 20px 20px 20px 40px; margin: 0; }
160160
}>
161161
```
162162

163-
في المرة القادمة التي ترى `{{` و `}}` في JSX، أعلم أنه ليس سوى كائن داخل أقواس JSX المعقوفة!
163+
في المرة القادمة التي ترى `{{` و `}}` في JSX، أعلم أنه ليس سوى كائن داخل أقواس JSX المنحنية!
164164

165165
<Pitfall>
166166

167-
خصائص `style` المضمنة تكتب بتنسيق camelCase. على سبيل المثال، عنصر HTML `<ul style="background-color: black">` يتم كتابته في المكون الخاص بك على النحو التالي: `<ul style={{ backgroundColor: 'black' }}>`.
167+
خصائص `style` المضمنة تكتب بتنسيق camelCase. على سبيل المثال، عنصرHTML `<ul style="background-color: black">` يتم كتابته في المكون الخاص بك على النحو التالي: `<ul style={{ backgroundColor: 'black' }}>`.
168168

169169
</Pitfall>
170170

171-
## المزيد من المرح مع كائنات JavaScript والأقواس المعقوفة! {/*more-fun-with-javascript-objects-and-curly-braces*/}
171+
## المزيد من المرح مع كائنات JavaScript والأقواس المنحنية! {/*more-fun-with-javascript-objects-and-curly-braces*/}
172172

173-
يمكنك دمج العديد من التعابير في كائن واحد والإشارة لهم في JSX الخاص بك داخل الأقواس المعقوفة:
173+
يمكنك دمج العديد من التعابير في كائن واحد والإشارة لهم في JSX الخاص بك داخل الأقواس المنحنية:
174174

175175
<Sandpack>
176176

@@ -193,9 +193,9 @@ export default function TodoList() {
193193
alt="Gregorio Y. Zara"
194194
/>
195195
<ul>
196-
<li>Improve the videophone</li>
197-
<li>Prepare aeronautics lectures</li>
198-
<li>Work on the alcohol-fuelled engine</li>
196+
<li>تحسين الهاتف</li>
197+
<li>تجهيز محاضرات عن الطيران</li>
198+
<li>العمل على محرك بالوقود الكحولي</li>
199199
</ul>
200200
</div>
201201
);
@@ -210,7 +210,7 @@ body > div > div { padding: 20px; }
210210
211211
</Sandpack>
212212
213-
في هذا المثال، يحتوي كائن JavaScript `person` على string `name` وكائن `theme`:
213+
في هذا المثال، يحتوي كائنJavaScript `person` على نص `name` وكائن `theme`:
214214
215215
```js
216216
const person = {
@@ -226,10 +226,10 @@ const person = {
226226
227227
```js
228228
<div style={person.theme}>
229-
<h1>{person.name}'s Todos</h1>
229+
<h1>قائمة مهام {person.name}</h1>
230230
```
231231
232-
JSX هي لغة قوالب بسيطة جدًا لأنها تسمح لك بتنظيم البيانات والمنطق باستخدام JavaScript.
232+
JSXهي لغة قوالب بسيطة جدًا لأنها تسمح لك بتنظيم البيانات والمنطق باستخدام JavaScript.
233233
234234
<Recap>
235235

0 commit comments

Comments
 (0)