From 43c5b8351b6a8158838639b6545039218efc56c2 Mon Sep 17 00:00:00 2001 From: Ali_Mohammad_Esmaeeli Date: Thu, 14 Nov 2024 20:05:15 +0330 Subject: [PATCH 1/2] docs: translate Fragment.md (Not completed) --- src/content/reference/react/Fragment.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/content/reference/react/Fragment.md b/src/content/reference/react/Fragment.md index aa72b08a0..008b30379 100644 --- a/src/content/reference/react/Fragment.md +++ b/src/content/reference/react/Fragment.md @@ -4,7 +4,9 @@ title: (<>...) -``, often used via `<>...` syntax, lets you group elements without a wrapper node. + + تگ ``که اغلب به اینصورت `<>...` نمایش داده میشه،به شما اجازه میده تا گروهی از المنت هارو بدون اینکه توی نود (تگ) بپیچی نماش بدی. + ```js <> @@ -19,15 +21,14 @@ title: (<>...) --- -## Reference {/*reference*/} +## مرجع {/*reference*/} ### `` {/*fragment*/} -Wrap elements in `` to group them together in situations where you need a single element. Grouping elements in `Fragment` has no effect on the resulting DOM; it is the same as if the elements were not grouped. The empty JSX tag `<>` is shorthand for `` in most cases. - -#### Props {/*props*/} + المنت هارو توی تگ `` بپیچونید تا آن ها روتوی یک موقعیت گروه بندی کنید، جایی که شما نیاز دارید که یک المنت داشته باشید.گروه بندی المنت ها در `` هیچ تاثیری روی نتیجه دام(DOM)شما ندارد؛دقیقا مثل اینکه المنت ها گروه بندی نشده است. تگ خالی جی اس اکس(jsx) `<>` دقیقا کوتاه شدهی تگ `` در اکثر مواقع است. -- **optional** `key`: Fragments declared with the explicit `` syntax may have [keys.](/learn/rendering-lists#keeping-list-items-in-order-with-key) +#### پراپس ها (Props) {/*props*/} +- **اختیاری** `key`: Fragments declared with the explicit `` syntax may have [keys.](/learn/rendering-lists#keeping-list-items-in-order-with-key) #### Caveats {/*caveats*/} From 53519dad259a3e0615d521bb572f63e1f5558803 Mon Sep 17 00:00:00 2001 From: Ali_Mohammad_Esmaeeli Date: Tue, 10 Dec 2024 15:03:02 +0330 Subject: [PATCH 2/2] docs: translate Fragment.md --- src/content/reference/react/Fragment.md | 41 ++++++++++++------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/src/content/reference/react/Fragment.md b/src/content/reference/react/Fragment.md index 008b30379..6189497a3 100644 --- a/src/content/reference/react/Fragment.md +++ b/src/content/reference/react/Fragment.md @@ -5,7 +5,7 @@ title: (<>...) - تگ ``که اغلب به اینصورت `<>...` نمایش داده میشه،به شما اجازه میده تا گروهی از المنت هارو بدون اینکه توی نود (تگ) بپیچی نماش بدی. + تگ ``که اغلب به اینصورت `<>...` نمایش داده میشود،به شما اجازه میدهد تا گروهی از المنت هارو بدون اینکه توی نود (node) بپیچانید نمایش دهید. ```js @@ -25,24 +25,24 @@ title: (<>...) ### `` {/*fragment*/} - المنت هارو توی تگ `` بپیچونید تا آن ها روتوی یک موقعیت گروه بندی کنید، جایی که شما نیاز دارید که یک المنت داشته باشید.گروه بندی المنت ها در `` هیچ تاثیری روی نتیجه دام(DOM)شما ندارد؛دقیقا مثل اینکه المنت ها گروه بندی نشده است. تگ خالی جی اس اکس(jsx) `<>` دقیقا کوتاه شدهی تگ `` در اکثر مواقع است. + المنت هارو توی تگ `` بپیچانید تا آن ها را توی یک موقعیت گروه بندی کنید، جایی که شما نیاز دارید که یک المنت داشته باشید.گروه بندی المنت ها در `` هیچ تاثیری روی نتیجه دام(DOM)شما ندارد؛دقیقا مثل اینکه المنت ها گروه بندی نشده است. تگ خالی جی اس اکس(jsx) `<>` دقیقا کوتاه شده ی تگ `` در اکثر مواقع است. #### پراپس ها (Props) {/*props*/} -- **اختیاری** `key`: Fragments declared with the explicit `` syntax may have [keys.](/learn/rendering-lists#keeping-list-items-in-order-with-key) +- **اختیاری** `key`: فرگمنت (Fragments) های تعریف شده به صورت `` میتوانند شامل [keys](/learn/rendering-lists#keeping-list-items-in-order-with-key) باشند. -#### Caveats {/*caveats*/} +#### هشدار ها {/*caveats*/} -- If you want to pass `key` to a Fragment, you can't use the `<>...` syntax. You have to explicitly import `Fragment` from `'react'` and render `...`. +- اگر میخواهید به فرگمنت ها (Fragments) `key` پاس بدهید, نمیتوانید از `<>...` استفاده کنید. ابتدا باید به صراحت `Fragment` را از `'react'` ایمپورت کرده و به صورت `...` رندر میشود. -- React does not [reset state](/learn/preserving-and-resetting-state) when you go from rendering `<>` to `[]` or back, or when you go from rendering `<>` to `` and back. This only works a single level deep: for example, going from `<><>` to `` resets the state. See the precise semantics [here.](https://gist.github.com/clemmy/b3ef00f9507909429d8aa0d3ee4f986b) +- وقتی که از `<>` به `[]` میرویم یا وقتی که از `<>` به `` یا برعکس ری اکت [استیت ها را بازنشانی نمیکند](/learn/preserving-and-resetting-state). این عمل فقط برای یک سطح غیر عمیق کار میکند: مثلا, شما از `<><>` به `` و استیت ها بازنشانی میشوند. برای اطلاعات بیشتر و درک عمیق تر میتوانید به [اینجا](https://gist.github.com/clemmy/b3ef00f9507909429d8aa0d3ee4f986b) مراجعه کنید. --- -## Usage {/*usage*/} +## نحوه استفاده {/*usage*/} -### Returning multiple elements {/*returning-multiple-elements*/} +### برگرداندن چندین المنت {/*returning-multiple-elements*/} -Use `Fragment`, or the equivalent `<>...` syntax, to group multiple elements together. You can use it to put multiple elements in any place where a single element can go. For example, a component can only return one element, but by using a Fragment you can group multiple elements together and then return them as a group: +از `Fragment`, یا معادل آن `<>...` برای گروه بندی چندین المنت کنار یکدیگر استفاده کنید. شما میتوانید از آن برای قرار دادن چندین المنت در هر مکانی که یک المنت واحد وجود دارد استفاده کنید. برای مثال, یک کامپوننت فقط میتواند یک المنت را برگرداند, اما با استفاده از فرگمنت شما میتوانید چندین المنت رو کنار هم گروه بندی کنید و سپس شما میتوانید به عنوان یک گروه از اون استفاده کنید : ```js {3,6} function Post() { @@ -55,7 +55,7 @@ function Post() { } ``` -Fragments are useful because grouping elements with a Fragment has no effect on layout or styles, unlike if you wrapped the elements in another container like a DOM element. If you inspect this example with the browser tools, you'll see that all `

` and `
` DOM nodes appear as siblings without wrappers around them: +فرگمنت ها (Fragments) خیلی مفید هستند چرا که گروه بندی کردن المنت ها هیچ تاثیری روی استایل و ساختار اصلی شما ندارد, برخلاف اینکه اگر شما المنت ها رو توی یک کانتینر دیگر مثل DOM المنت بپیچانید. اگر که شما این مثال رو با دیگر ابزاری های مرورگر بررسی کنید, متوجه خواهید شد که تمام `

` و `
` ها (DOM nodes) به صورت فرزند به وجود می آیند بدون اینکه حتی دورشون چیزی پیچانده باشیم: @@ -95,9 +95,9 @@ function PostBody({ body }) { -#### How to write a Fragment without the special syntax? {/*how-to-write-a-fragment-without-the-special-syntax*/} +#### چگونه یک فرگمنت (Fragments) بدون سینتکس خاصی استفاده کنیم؟ {/*how-to-write-a-fragment-without-the-special-syntax*/} -The example above is equivalent to importing `Fragment` from React: +مثال بالا معادل ایمپورت کردن `Fragment` در ری اکت است: ```js {1,5,8} import { Fragment } from 'react'; @@ -112,15 +112,15 @@ function Post() { } ``` -Usually you won't need this unless you need to [pass a `key` to your `Fragment`.](#rendering-a-list-of-fragments) +معمولا به `` احتیاج ندارید تا زمانی که بخواهید [به `Fragment` ها `key` پاس بدین.](#rendering-a-list-of-fragments) --- -### Assigning multiple elements to a variable {/*assigning-multiple-elements-to-a-variable*/} +### به یک متغیر چندین المنت پاس بدین {/*assigning-multiple-elements-to-a-variable*/} -Like any other element, you can assign Fragment elements to variables, pass them as props, and so on: +مثل سایر المنت ها, شما میتوانید به فرگمنت ها متغیر اختصاص دهید, و اونجا رو به عنوان props پاس بدید: ```js function CloseDialog() { @@ -140,9 +140,9 @@ function CloseDialog() { --- -### Grouping elements with text {/*grouping-elements-with-text*/} +### گروه بندی المنت ها با متن {/*grouping-elements-with-text*/} -You can use `Fragment` to group text together with components: +میتوانید از `Fragment` استفاده کنید تا متن های کنار یکدیگر را با کامپوننت ها گروه بندی کنید: ```js function DateRangePicker({ start, end }) { @@ -159,9 +159,9 @@ function DateRangePicker({ start, end }) { --- -### Rendering a list of Fragments {/*rendering-a-list-of-fragments*/} +### رندر کردن لیستی از فرگمنت ها (Fragments) {/*rendering-a-list-of-fragments*/} -Here's a situation where you need to write `Fragment` explicitly instead of using the `<>` syntax. When you [render multiple elements in a loop](/learn/rendering-lists), you need to assign a `key` to each element. If the elements within the loop are Fragments, you need to use the normal JSX element syntax in order to provide the `key` attribute: +اینجا نمونه ای از یک موقعیتی هست که شما نیاز دارید به جای `<>` از `Fragment` استفاده کنید. وقتی که شما [چندیدن تا المنت رو درون یک حلقه رندر می کنید](/learn/rendering-lists), شما نیاز دارید که به المنت `key` بدهید. اگر که المنت های درون حلقه (loop) در واقع Fragment هستند, شما باید از این قاعده JSX برای ترتیب المنت ها پیروی کنید و از ویژگی `key` استفاده کنید : ```js {3,6} function Blog() { @@ -173,8 +173,7 @@ function Blog() { ); } ``` - -You can inspect the DOM to verify that there are no wrapper elements around the Fragment children: +شما میتوانید DOM ها رو بررسی کنید و پی ببرید که هیچ المنتی دور فرگمنت فرزند شما پیچیده نشده است: