Skip to content

Commit 77652c0

Browse files
committed
fix misused <App />
1 parent b97e36f commit 77652c0

File tree

2 files changed

+16
-15
lines changed

2 files changed

+16
-15
lines changed

src/content/reference/react-dom/client/createRoot.md

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,13 @@ const root = createRoot(domNode);
3535
root.render(<App />);
3636
```
3737
38-
يتم عادة إنشاء التطبيق بالكامل باستخدام React بنداء واحد فقط لـ `createRoot` للمكون الجذر. قد يحتوي الموقع الذي يستخدم React لأجزاء من الصفحة على عدد من نقاط البداية الفردية حسب الحاجة.
38+
يتم عادة إنشاء التطبيق بالكامل باستخدام React بنداء واحد فقط لـ `createRoot` في المكون الجذر. قد يحتوي الموقع الذي يستخدم React لأجزاء محددة من الصفحة على عدد من نقاط البداية الفردية حسب الحاجة.
3939
4040
[انظر المزيد من الأمثلة أدناه.](#usage)
4141
4242
#### المعاملات {/*parameters*/}
4343
44-
* `domNode`: عنصر [DOM](https://developer.mozilla.org/en-US/docs/Web/API/Element) يقوم React بإنشاء جذر لهذا العنصر ويتيح لك استدعاء الدوال على الجذر مثل `render` لعرض المحتوى المعروض بواسطة React.
44+
* `domNode`: عنصر [DOM](https://developer.mozilla.org/en-US/docs/Web/API/Element) يقوم React بإنشاء جذر لهذا العنصر ويتيح لك استدعاء الدوال على الجذر مثل `render` لعرض المحتوى الذي تنشئه React.
4545
4646
* `options` **اختياري**: كائن يحتوي على خيارات لجذر React هذا.
4747
@@ -53,7 +53,7 @@ root.render(<App />);
5353
يعيد `createRoot` كائنًا يحتوي على طريقتين: [`render`](#root-render) و [`unmount`](#root-unmount).
5454
5555
#### ملاحظات {/*caveats*/}
56-
* إذا كان تطبيقك يتم عرضه من الخادم، فإن استخدام `createRoot()` غير مدعوم. استخدم [`hydrateRoot()`](/reference/react-dom/client/hydrateRoot) بدلاً من ذلك.
56+
* إذا كان تطبيقك يتم عرضه من الخادم SSR، فإن استخدام `createRoot()` غير مدعوم. استخدم [`hydrateRoot()`](/reference/react-dom/client/hydrateRoot) بدلاً من ذلك.
5757
* من المرجح أن لديك استدعاء واحد فقط لـ `createRoot` في تطبيقك. إذا كنت تستخدم إطار عمل، فقد يستدعيها الإطار نيابةً عنك.
5858
* عندما ترغب في عرض جزء من JSX في جزء آخر من شجرة DOM التي ليست طفلًا للمكون الخاص بك (على سبيل المثال، نافذة محادثة، أو توضيح Tooltip)، استخدم [`createPortal`](/reference/react-dom/createPortal) بدلاً من `createRoot`.
5959
@@ -118,7 +118,7 @@ root.unmount();
118118
#### ملاحظات {/*root-unmount-caveats*/}
119119
120120
* استدعاء `root.unmount` سيلغي تثبيت جميع المكونات في الشجرة ويفصل React عن عنصر DOM الجذر.
121-
* بمجرد استدعاء `root.unmount`، لا يمكنك استدعاء `root.render` مرة أخرى على نفس الجذر. ستؤدي محاولة استدعاء `root.render` على جذر غير مثبتة إلى إطلاق خطأ "Cannot update an unmounted root". ومع ذلك، يمكنك إنشاء جذر جديد لنفس عنصر DOM بعد إلغاء تثبيت الجذر السابقة لذلك العنصر.
121+
* بمجرد استدعاء `root.unmount`، لا يمكنك استدعاء `root.render` مرة أخرى على نفس الجذر. ستؤدي محاولة استدعاء `root.render` على جذر غير مثبتة إلى إطلاق خطأ `"Cannot update an unmounted root"`. ومع ذلك، يمكنك إنشاء جذر جديد لنفس عنصر DOM بعد إلغاء تثبيت الجذر السابقة لذلك العنصر.
122122
123123
---
124124
@@ -190,17 +190,17 @@ function Counter() {
190190
191191
**إذا كان تطبيقك مبنيًا بالكامل بواسطة React، فغالبًا لن تحتاج إلى إنشاء مزيد من الجذور أو استدعاء [`root.render`](#root-render) مرة أخرى.**
192192
193-
من هذه النقطة وما بعدها، سيتولى React إدارة DOM للتطبيق بأكمله. لإضافة مكونات إضافية، [احتضنها داخل المكون `App`.](/learn/importing-and-exporting-components) عندما تحتاج إلى تحديث واجهة المستخدم، يمكن أن تقوم كل من مكوناتك بذلك عن طريق [استخدام الحالة.](/reference/react/useState) وعندما تحتاج إلى عرض محتوى إضافي مثل شاشة نموذجية أو نصائح خارج عنصر DOM، [اعرضه باستخدام `createPortal`.](/reference/react-dom/createPortal)
193+
من هذه النقطة وما بعدها، سيتولى React إدارة DOM للتطبيق بأكمله. لإضافة مكونات إضافية، [احتضنها داخل المكون `App`.](/learn/importing-and-exporting-components) عندما تحتاج إلى تحديث واجهة المستخدم، يمكن أن تقوم كل من مكوناتك بذلك عن طريق [استخدام الحالة.](/reference/react/useState) وعندما تحتاج إلى عرض محتوى إضافي مثل نافذة منبثقة أو نصائح خارج عنصر DOM، [اعرضه باستخدام `createPortal`.](/reference/react-dom/createPortal)
194194
195195
<Note>
196196
197-
عندما يكون العنصر HTML خاليًا، يرى المستخدم صفحة فارغة حتى يتم تحميل وتشغيل كود JavaScript للتطبيق:
197+
عندما يكون عنصر HTML خاليًا، يرى المستخدم صفحة فارغة حتى يتم تحميل وتشغيل كود JavaScript للتطبيق:
198198
199199
```html
200200
<div id="root"></div>
201201
```
202202
203-
يمكن أن يكون هذا بطيئًا جدًا! لحل هذه المشكلة، يمكنك إنشاء العنصر HTML الأولي من مكوناتك [على الخادم أو أثناء البناء.](/reference/react-dom/server) ثم يمكن لزوار موقعك قراءة النص ورؤية الصور والنقر على الروابط قبل تحميل أي كود JavaScript. نوصي بأن تستخدم [إطار عمل](/learn/start-a-new-react-project#production-grade-react-frameworks) يفعل هذا الأمر تلقائيًا. اعتمادًا على موعد تشغيله، يُطلق عليه *تحميل من جانب الخادم (SSR)* أو *توليد المواقع الثابت (SSG).*
203+
يمكن أن يكون هذا بطيئًا جدًا! لحل هذه المشكلة، يمكنك إنشاء عنصر HTML الأولي من مكوناتك [على الخادم أو أثناء البناء.](/reference/react-dom/server) ثم يمكن لزوار موقعك قراءة النص ورؤية الصور والنقر على الروابط قبل تحميل أي كود JavaScript. نوصي بأن تستخدم [إطار عمل](/learn/start-a-new-react-project#production-grade-react-frameworks) يفعل هذا الأمر تلقائيًا. اعتمادًا على موعد تشغيله، يُطلق عليه *تحميل من جانب الخادم (SSR)* أو *توليد المواقع الثابت (SSG).*
204204
205205
</Note>
206206
@@ -222,11 +222,11 @@ function Counter() {
222222
```html public/index.html
223223
<!DOCTYPE html>
224224
<html>
225-
<head><title>My app</title></head>
225+
<head><title>تطبيقي</title></head>
226226
<body>
227227
<nav id="navigation"></nav>
228228
<main>
229-
<p>This paragraph is not rendered by React (open index.html to verify).</p>
229+
<p>هذا الجزء ليس مبنيًا بـReact. افتح index.html لتتأكد</p>
230230
<section id="comments"></section>
231231
</main>
232232
</body>
@@ -283,6 +283,7 @@ function Comment({ text, author }) {
283283
```
284284
285285
```css
286+
body { direction: rtl; }
286287
nav ul { padding: 0; margin: 0; }
287288
nav ul li { display: inline-block; margin-right: 20px; }
288289
```
@@ -341,7 +342,7 @@ export default function App({counter}) {
341342
342343
</Sandpack>
343344
344-
من غير الشائع أن تستدعي `render` عدة مرات. عادةً، يمكن لمنوناتك [تحديث الحالة](/reference/react/useState) بدلاً من ذلك.
345+
من غير الشائع أن تستدعي `render` عدة مرات. عادةً، يمكن لمكوناتك [تحديث الحالة](/reference/react/useState) بدلاً من ذلك.
345346
346347
---
347348
## حل المشكلات {/*troubleshooting*/}
@@ -362,7 +363,7 @@ root.render(<App />);
362363
363364
---
364365
365-
### أواجه خطأ: "Target container is not a DOM element" {/*im-getting-an-error-target-container-is-not-a-dom-element*/}
366+
### أواجه خطأ: `"Target container is not a DOM element"` {/*im-getting-an-error-target-container-is-not-a-dom-element*/}
366367
367368
هذا الخطأ يعني أن ما تقوم بتمريره إلى `createRoot` ليس عنصر DOM.
368369
@@ -377,16 +378,16 @@ root.render(<App />);
377378
378379
على سبيل المثال، إذا كانت `domNode` تساوي `null`، فهذا يعني أن [`getElementById`](https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementById) قد أرجع `null`. وهذا سيحدث إذا لم يكن هناك عنصر في المستند يحمل المعرف ID المعطاة في وقت استدعائك للدالة. قد تكون هناك بعض الأسباب وراء ذلك:
379380
380-
1. ربما يكون المعرف الذ تبحث عنه مختلف عن المعرف التي استخدمته في ملف HTML. تحقق من الأخطاء الإملائية!
381+
1. ربما يكون المعرف الذي تبحث عنه مختلف عن المعرف التي استخدمته في ملف HTML. تحقق من الأخطاء الإملائية!
381382
2. ربما لا يمكن لعنصر `<script>` الخاص بك "رؤية" أي عنصر DOM تظهر *بعده* في HTML.
382383
383384
طريقة شائعة أخرى للحصول على هذا الخطأ هي كتابة `createRoot(<App />)` بدلاً من `createRoot(domNode)`.
384385
385386
---
386387
387-
### أواجه خطأ: "Functions are not valid as a React child." {/*im-getting-an-error-functions-are-not-valid-as-a-react-child*/}
388+
### أواجه خطأ: `"Functions are not valid as a React child."` {/*im-getting-an-error-functions-are-not-valid-as-a-react-child*/}
388389
389-
هذا الخطأ يعني أن ما تمريره إلى `root.render` ليس مكوِّن React.
390+
هذا الخطأ يعني أن ما تمرره إلى `root.render` ليس مكوِّن React.
390391
391392
قد يحدث هذا إذا قمت باستدعاء `root.render` باستخدام `Component` بدلاً من `<Component />`:
392393

src/content/reference/react-dom/client/hydrateRoot.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ const root = hydrateRoot(domNode, reactNode);
6666
root.render(<App />);
6767
```
6868
69-
ستحدث React <App /> في `root` المُجَمّع.
69+
ستحدث React `<App />` في `root` المُجَمّع.
7070
7171
[شاهد المزيد من الأمثلة أدناه.](#usage)
7272

0 commit comments

Comments
 (0)