You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/content/learn/javascript-in-jsx-with-curly-braces.md
+32-32Lines changed: 32 additions & 32 deletions
Original file line number
Diff line number
Diff line change
@@ -1,25 +1,25 @@
1
1
---
2
-
title: JavaScript في JSX باستخدام الأقواس المعقوفة
2
+
title: JavaScript في JSX باستخدام الأقواس المنحنية
3
3
---
4
4
5
5
<Intro>
6
6
7
-
تتيح لك JSX كتابة ترميز شبيه بـ HTML داخل ملف JavaScript، مما يسمح بالحفاظ على منطق التصيير والمحتوى في المكان نفسه. في بعض الأحيان، قد ترغب في إضافة بعض منطق لغة JavaScript أو الإشارة إلى خاصية ديناميكية داخل هذا الترميز. في هذه الحالة، يمكنك استخدام الأقواس المعقوفة داخل JSX الخاص بك لفتح نافذة للغة JavaScript.
7
+
تتيح لك JSX كتابة ترميز شبيه بـ HTML داخل ملف JavaScript، مما يسمح بالحفاظ على منطق التصيير والمحتوى في المكان نفسه. في بعض الأحيان، قد ترغب في إضافة بعض منطق لغة JavaScript أو الإشارة إلى خاصية ديناميكية داخل هذا الترميز. في هذه الحالة، يمكنك استخدام الأقواس المنحنية داخل JSX الخاص بك لفتح نافذة للغة JavaScript.
8
8
9
9
</Intro>
10
10
11
11
<YouWillLearn>
12
12
13
-
* كيفية تمرير strings باستخدام علامات التنصيص
13
+
* كيفية تمرير النصوص (string) باستخدام علامات التنصيص
14
14
* كيفية الإشارة إلى متغير JavaScript داخل JSX باستخدام الأقواس المعقوفة
15
-
* كيفية استدعاء دالة JavaScript داخل JSX باستخدام الأقواس المعقوفة
15
+
* كيفية استدعاء دالة JavaScript داخل JSX باستخدام الأقواس المنحنية
16
16
* كيفية استخدام كائن JavaScript داخل JSX باستخدام الأقواس المعقوفة
17
17
18
18
</YouWillLearn>
19
19
20
-
## تمرير strings باستخدام علامات التنصيص {/*passing-strings-with-quotes*/}
20
+
## تمرير النصوص باستخدام علامات التنصيص {/*passing-strings-with-quotes*/}
21
21
22
-
عندما ترغب في تمرير خاصية string إلى JSX، يتم وضعها بين علامات تنصيص مفردة أو مزدوجة:
22
+
عندما ترغب في تمرير نص إلى JSX، يتم وضعها بين علامات تنصيص مفردة أو مزدوجة:
23
23
24
24
<Sandpack>
25
25
@@ -41,7 +41,7 @@ export default function Avatar() {
41
41
42
42
</Sandpack>
43
43
44
-
هنا، يتم تمرير `"https://i.imgur.com/7vQD0fPs.jpg"` و `"Gregorio Y. Zara"`في صورة strings.
44
+
هنا، يتم تمرير `"https://i.imgur.com/7vQD0fPs.jpg"` و `"Gregorio Y. Zara"`كنصوص.
45
45
46
46
ولكن ماذا لو كنت ترغب في تحديد `src` أو نص `alt` بشكل ديناميكي؟ يمكنك **استخدام قيمة من JavaScript عن طريق استبدال `"`و `"` بـ `{`و `}`**:
47
47
@@ -67,19 +67,19 @@ export default function Avatar() {
67
67
68
68
</Sandpack>
69
69
70
-
لاحظ الاختلاف بين `className="avatar"`، الذي يحدد اسم صنف CSS `"avatar"` الذي يجعل الصورة دائرية، و`src={avatar}` الذي يقرأ قيمة متغير JavaScript المسمى `avatar`. هذا لأن الأقواس المعقوفة تتيح لك العمل مع لغة JavaScript مباشرة داخل الترميز الخاصة بك!
70
+
لاحظ الاختلاف بين `className="avatar"`، الذي يحدد اسم فئة CSS `"avatar"` الذي يجعل الصورة دائرية، و`src={avatar}` الذي يقرأ قيمة متغير JavaScript المسمى `avatar`. هذا لأن الأقواس المنحنية تتيح لك العمل مع لغة JavaScript مباشرة داخل الترميز الخاصة بك!
71
71
72
-
## استخدام الأقواس المعقوفة: نافذة إلى عالم JavaScript {/*using-curly-braces-a-window-into-the-javascript-world*/}
72
+
## استخدام الأقواس المنحنية: نافذة إلى عالم JavaScript {/*using-curly-braces-a-window-into-the-javascript-world*/}
73
73
74
-
JSX هي طريقة خاصة لكتابة JavaScript. وهذا يعني أنه يمكن استخدام JavaScript داخلها - باستخدام الأقواس المعقوفة `{ }`. في المثال أدناه، يتم تعريف اسم للعالم، `name`، ثم يتم تضمينه بواسطة الأقواس المعقوفة داخل عنصر `<h1>`.
74
+
JSX هي طريقة خاصة لكتابة JavaScript. وهذا يعني أنه يمكن استخدام JavaScript داخلها - باستخدام الأقواس المعقوفة `{ }`. في المثال أدناه، يتم تعريف اسم للعالِم، `name`، ثم يتم تضمينه بواسطة الأقواس المنحنية داخل عنصر `<h1>`.
75
75
76
76
<Sandpack>
77
77
78
78
```js
79
79
exportdefaultfunctionTodoList() {
80
80
constname='Gregorio Y. Zara';
81
81
return (
82
-
<h1>{name}'s To Do List</h1>
82
+
<h1>قائمة مهام {name}</h1>
83
83
);
84
84
}
85
85
```
@@ -103,25 +103,25 @@ function formatDate(date) {
103
103
104
104
exportdefaultfunctionTodoList() {
105
105
return (
106
-
<h1>To Do List for {formatDate(today)}</h1>
106
+
<h1>قائمة مهام لـ {formatDate(today)}</h1>
107
107
);
108
108
}
109
109
```
110
110
111
111
</Sandpack>
112
112
113
-
### أين يجب استخدام الأقواس المعقوفة؟ {/*where-to-use-curly-braces*/}
113
+
### أين يجب استخدام الأقواس المنحنية؟ {/*where-to-use-curly-braces*/}
114
114
115
-
يمكنك استخدام الأقواس المعقوفة في JSX بطريقتين فقط:
115
+
يمكنك استخدام الأقواس المنحنية في JSX بطريقتين فقط:
116
116
117
117
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}"`كنص.
119
119
120
-
## استخدام "أقواس معقوفة مزدوجة": CSS وكائنات أخرى داخل JSX {/*using-double-curlies-css-and-other-objects-in-jsx*/}
120
+
## استخدام "أقواس منحنية مزدوجة": CSS وكائنات أخرى داخل JSX {/*using-double-curlies-css-and-other-objects-in-jsx*/}
121
121
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 }}`.
123
123
124
-
قد ترى ذلك في أنماط CSS المضمنة في JSX. React لا تتطلب منك استخدام أنماط CSS مضمنة (صنف CSS يعمل جيداً في معظم الحالات). ولكن عندما تحتاج إلى أسلوب مضمن، يمكنك تمرير كائن إلى خاصية `style`:
124
+
قد ترى ذلك في أنماط CSS المضمنة فيJSX. React لا تتطلب منك استخدام أنماط CSS مضمنة (فئة CSS يعمل جيداً في معظم الحالات). ولكن عندما تحتاج إلى أسلوب مضمن، يمكنك تمرير كائن إلى خاصية `style`:
125
125
126
126
<Sandpack>
127
127
@@ -132,9 +132,9 @@ export default function TodoList() {
132
132
backgroundColor:'black',
133
133
color:'pink'
134
134
}}>
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>
138
138
</ul>
139
139
);
140
140
}
@@ -149,7 +149,7 @@ ul { padding: 20px 20px 20px 40px; margin: 0; }
149
149
150
150
حاول تغيير قيم `backgroundColor` و `color`.
151
151
152
-
يمكنك رؤية كائن JavaScript بوضوح داخل الأقواس المعقوفة عندما تكتبه بهذه الطريقة:
152
+
يمكنك رؤية كائن JavaScript بوضوح داخل الأقواس المنحنية عندما تكتبه بهذه الطريقة:
153
153
154
154
```js {2-5}
155
155
<ul style={
@@ -160,17 +160,17 @@ ul { padding: 20px 20px 20px 40px; margin: 0; }
160
160
}>
161
161
```
162
162
163
-
في المرة القادمة التي ترى `{{` و `}}` في JSX، أعلم أنه ليس سوى كائن داخل أقواس JSX المعقوفة!
163
+
في المرة القادمة التي ترى `{{` و `}}` في JSX، أعلم أنه ليس سوى كائن داخل أقواس JSX المنحنية!
164
164
165
165
<Pitfall>
166
166
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' }}>`.
168
168
169
169
</Pitfall>
170
170
171
-
## المزيد من المرح مع كائنات JavaScript والأقواس المعقوفة! {/*more-fun-with-javascript-objects-and-curly-braces*/}
171
+
## المزيد من المرح مع كائنات JavaScript والأقواس المنحنية! {/*more-fun-with-javascript-objects-and-curly-braces*/}
172
172
173
-
يمكنك دمج العديد من التعابير في كائن واحد والإشارة لهم في JSX الخاص بك داخل الأقواس المعقوفة:
173
+
يمكنك دمج العديد من التعابير في كائن واحد والإشارة لهم في JSX الخاص بك داخل الأقواس المنحنية:
174
174
175
175
<Sandpack>
176
176
@@ -193,9 +193,9 @@ export default function TodoList() {
193
193
alt="Gregorio Y. Zara"
194
194
/>
195
195
<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>
199
199
</ul>
200
200
</div>
201
201
);
@@ -210,7 +210,7 @@ body > div > div { padding: 20px; }
210
210
211
211
</Sandpack>
212
212
213
-
في هذا المثال، يحتوي كائن JavaScript `person` على string `name` وكائن `theme`:
213
+
في هذا المثال، يحتوي كائنJavaScript `person` على نص `name` وكائن `theme`:
214
214
215
215
```js
216
216
const person = {
@@ -226,10 +226,10 @@ const person = {
226
226
227
227
```js
228
228
<div style={person.theme}>
229
-
<h1>{person.name}'s Todos</h1>
229
+
<h1>قائمة مهام {person.name}</h1>
230
230
```
231
231
232
-
JSX هي لغة قوالب بسيطة جدًا لأنها تسمح لك بتنظيم البيانات والمنطق باستخدام JavaScript.
232
+
JSXهي لغة قوالب بسيطة جدًا لأنها تسمح لك بتنظيم البيانات والمنطق باستخدام JavaScript.
0 commit comments