From f12ed2a9b6787320f0887028ab8458a562bf6c4b Mon Sep 17 00:00:00 2001 From: Abolfazl Date: Tue, 3 Mar 2020 19:36:52 +0330 Subject: [PATCH 01/40] Undo Commit for yarn --- content/docs/reference-glossary.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index bdf3587a5..065ce2c8c 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -7,19 +7,20 @@ permalink: docs/glossary.html --- -## Single-page Application {#single-page-application} +## نرم‌افزار تک-صفحه‌ای {#single-page-application} -A single-page application is an application that loads a single HTML page and all the necessary assets (such as JavaScript and CSS) required for the application to run. Any interactions with the page or subsequent pages do not require a round trip to the server which means the page is not reloaded. +یک نرم‌افزار-تک صفحه‌ای نرم‌افزاری است که یک صفحه HTML با تمامی دارایی‌های ضروری‌اش (مثل جاوا‌اسکریپت و سی اس اس) که برای اجرا شدن نرم‌افزار نیاز هست را بارگیری می‌کند. تمام فعل و انفعالاتی که در صفحه رخ می‌دهد و آنهایی که متعاقبا رخ می‌دهند دیگر به گردشی به دور سرور نیاز ندارند که به این معنیست که صفحه مجددا بارگیری نمی‌شود. -Though you may build a single-page application in React, it is not a requirement. React can also be used for enhancing small parts of existing websites with additional interactivity. Code written in React can coexist peacefully with markup rendered on the server by something like PHP, or with other client-side libraries. In fact, this is exactly how React is being used at Facebook. +شاید یک برنامه تک صفحه‌ای با ری‌اکت بسازید، اما ری‌اکت یک نیاز ضروری نیست. ری‌کت میتواند برای بهبود قسمت کوچکی از وبسایت حاضر با تعامل اضافی استفاده شود. کد ری‌اکت می‌تواند به شکل مسالمت آمیزی با مارکاپ رندر شده سمت سرور توسط ربانی مثل PHP یا کتابخانه‌های سمت کاربر هم زیستی کند. در واقع، این دلیلیست که ری‌امت در فیس‌بوک استفاده می‌شود. -## ES6, ES2015, ES2016, etc {#es6-es2015-es2016-etc} +## ES6, ES2015, ES2016, و غیره {#es6-es2015-es2016-etc} -These acronyms all refer to the most recent versions of the ECMAScript Language Specification standard, which the JavaScript language is an implementation of. The ES6 version (also known as ES2015) includes many additions to the previous versions such as: arrow functions, classes, template literals, `let` and `const` statements. You can learn more about specific versions [here](https://en.wikipedia.org/wiki/ECMAScript#Versions). +تمام این کلمات اختصاری به جدیدترین ورژن استاندارد‌های زبان ECMAScript رجوع می‌کند که زبان جاواسکریپت از آن پیاده‌سازی شده است. ورژن ES6 (که به ES2015 معروف است ) چند ضمیمه به ورژن قبلی اضافه کرده است مانند: توابع پیکانی, کلاس‌ها, template literals, `let` و `const`. شما می‌توانید در مورد ورژن ها [اینجا](https://en.wikipedia.org/wiki/ECMAScript#Versions) اطلاعات بیشتری کسب کنید. -## Compilers {#compilers} +## کامپایلر‌ها {#compilers} -A JavaScript compiler takes JavaScript code, transforms it and returns JavaScript code in a different format. The most common use case is to take ES6 syntax and transform it into syntax that older browsers are capable of interpreting. [Babel](https://babeljs.io/) is the compiler most commonly used with React. +کامپایلر جاوااسکریپت کد جاوااسکریپت شما رو می‌گیرد، و آن‌را به حالت دیگری تبدیل می‌کند. یکی از مواردی که به طور عمومی مورد استفاده قرار می‌گیرد آنست که کد ES6 شما رو دریافت می‌کند و دست خط آن‌را به چیزی که مرورگر‌های قدیمی می‌فهمند تبدیل می‌کند. +[Babel](https://babeljs.io/) کامپایلری هست که عموما در ری‌اکت استفاده می‌شود. ## Bundlers {#bundlers} From b10d0504db7c9427bc433f63fec88546eaf92906 Mon Sep 17 00:00:00 2001 From: Abolfazl Date: Wed, 4 Mar 2020 13:35:09 +0330 Subject: [PATCH 02/40] CDN translated --- content/docs/reference-glossary.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index 065ce2c8c..fc1c684ff 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -24,15 +24,15 @@ permalink: docs/glossary.html ## Bundlers {#bundlers} -Bundlers take JavaScript and CSS code written as separate modules (often hundreds of them), and combine them together into a few files better optimized for the browsers. Some bundlers commonly used in React applications include [Webpack](https://webpack.js.org/) and [Browserify](http://browserify.org/). +Bundlerها کد جاوااسکریپت و سی‌اس‌اس از ماژول‌های جداگانه را می‌گیرند (معملا صدها ماژول) و آنها را در یک فایل جدید که برای مرورگرها بهتر بهینه سازی شده است ترکیب می‌کنند. برخی از Bundlerها در ری‌اکت اضافه شده است مانند [Webpack](https://webpack.js.org/) و [Browserify](http://browserify.org/). ## Package Managers {#package-managers} -Package managers are tools that allow you to manage dependencies in your project. [npm](https://www.npmjs.com/) and [Yarn](https://yarnpkg.com/) are two package managers commonly used in React applications. Both of them are clients for the same npm package registry. +Package managerها ابزارهایی هستند که به شما امکان می‌دهند تا وابستگی‌های پروژه را مدیریت کنید. [npm](https://www.npmjs.com/) و [Yarn](https://yarnpkg.com/) دو Package managerای هستند که عموما در نرم‌افزارهای ری‌اکت استفاده شده‌اند. هر دوی آنها به نوعی ارباب رجوع رجیستری بسته NPM هستند. ## CDN {#cdn} -CDN stands for Content Delivery Network. CDNs deliver cached, static content from a network of servers across the globe. +CDN مخخف Content Delivery Network (شبکه تحویل‌دهی محتوا) است. CDNها محتوای کش شده یا ایستایی یک شبکه از سرور‌ها در سراسر دنیا را تحویل می‌دهند. ## JSX {#jsx} From 20e6589e651a3d8455778b4dd3222eeb85e048de Mon Sep 17 00:00:00 2001 From: Abolfazl Date: Wed, 4 Mar 2020 14:57:19 +0330 Subject: [PATCH 03/40] only state remains --- content/docs/reference-glossary.md | 31 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index fc1c684ff..0cbc2f484 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -36,9 +36,10 @@ CDN مخخف Content Delivery Network (شبکه تحویل‌دهی محتوا) ## JSX {#jsx} -JSX is a syntax extension to JavaScript. It is similar to a template language, but it has full power of JavaScript. JSX gets compiled to `React.createElement()` calls which return plain JavaScript objects called "React elements". To get a basic introduction to JSX [see the docs here](/docs/introducing-jsx.html) and find a more in-depth tutorial on JSX [here](/docs/jsx-in-depth.html). +JSX یک افزونه‌ی دست‌خط برای جاوااسکریپت است. به زبان template شبیه است ولی دارای تمام قدرت جاوااسکریپت می‌باشد. JSX توسط فراخوانی `React.createElement()` کامپایل می‌شود که یک شی جاوااسکریپتی ساده به نام "React elements" را باز می‌گرداند. برای دست‌یابی به معرفی JSX می‌توانید [این سند را ببینید](/docs/introducing-jsx.html) و آموزش عمیق‌تری در [اینجا](/docs/jsx-in-depth.html) پیدا کنید. -React DOM uses camelCase property naming convention instead of HTML attribute names. For example, `tabindex` becomes `tabIndex` in JSX. The attribute `class` is also written as `className` since `class` is a reserved word in JavaScript: +ری‌اکت Dom از نگارش شتری به‌جای نحوه نام گذاری در خصیصه‌های HTML برای نام گذاری خود استفاده می‌کند. برای مثال `tabindex` در JSX می‌شود `tabIndex`. +همچنین خصیصه `class` به شکل `className` نوشته می‌شود زیرا کلمه `class` در زبان جاوااسکریپت رزرو شده است. ```js const name = 'Clementine'; @@ -50,17 +51,16 @@ ReactDOM.render( ## [Elements](/docs/rendering-elements.html) {#elements} -React elements are the building blocks of React applications. One might confuse elements with a more widely known concept of "components". An element describes what you want to see on the screen. React elements are immutable. +elementهای ری‌اکت بلاک‌هایی هستند که نرم‌افزارهای ری‌امت را می‌سازند. فردی ممکن است elementها را با مفهموم گسترش یافته "کامپوننت" اشتباه بگیرد. یک المنت چیزی را که می‌خواهید در صفحه نمایش دهید را نشان می‌دهد. المان‌های ری‌اکت immutable هستند. ```js const element =

Hello, world

; ``` - -Typically, elements are not used directly, but get returned from components. +معمولا، elementها مستقیما استفاده نمی‌شوند، ولی از کامپوننت ها برمی‌گردند. ## [Components](/docs/components-and-props.html) {#components} -React components are small, reusable pieces of code that return a React element to be rendered to the page. The simplest version of React component is a plain JavaScript function that returns a React element: +کامپوننت‌های ری‌اکت کوچک، تکه‌های قابل استفاده کد هستند که یک element ری ‌اکت برمی‌گردانند تا در صفحه رندر شود. ساده‌ترین ورژن یک کامپوننت ری‌اکت یک تابع جاوااسکریپت ساده است که که یک element ری‌اکت باز می‌گرداند. ```js function Welcome(props) { @@ -68,7 +68,7 @@ function Welcome(props) { } ``` -Components can also be ES6 classes: +همچنین کامپوننت‌ها می‌توانند کلاس‌های ES6 باشند: ```js class Welcome extends React.Component { @@ -78,30 +78,29 @@ class Welcome extends React.Component { } ``` -Components can be broken down into distinct pieces of functionality and used within other components. Components can return other components, arrays, strings and numbers. A good rule of thumb is that if a part of your UI is used several times (Button, Panel, Avatar), or is complex enough on its own (App, FeedStory, Comment), it is a good candidate to be a reusable component. Component names should also always start with a capital letter (`` **not** ``). See [this documentation](/docs/components-and-props.html#rendering-a-component) for more information on rendering components. +کامپوننت‌ها می‌توانند به تکه‌های مجزای عملکردی شکسته شوند و در کامپوننت‌های دیگر استفاده شوند. کامپوننت‌ها می‌توانند کامپوننت‌های دیگر، متن و عدد برگردانند، یک قانون خوب آنست که اگر کامپوننت شما چندین بار در UI مورد استفاده قرار گرفت (دکمه، پنل، آواتار)، یا به نوبه خودش به اندازه کافی پیچیده شده بود (نرم‌افزار،FeedStory، کامنت‌ها)، کاندید خوبی است برای اینکه به یک کامپوننت قابل استفاده مجدد تبدیل شود. +همچنین نام کامپوننت‌ها باید همیشه با حرف بزرگ شروع شود.(`` **نه** ``). برای کسب اطلاعات بیشتر در مورد رندر شدن کامپوننت‌ها [این سند را مشاهده کنید](/docs/components-and-props.html#rendering-a-component). ### [`props`](/docs/components-and-props.html) {#props} -`props` are inputs to a React component. They are data passed down from a parent component to a child component. - -Remember that `props` are readonly. They should not be modified in any way: +`props` ورودی‌های کامپوننت ری‌اکت هستند. آنها داده‌هایی هستند که از کامپوننت پدر به کامپوننت فرزند انتقال پیدا می‌کنند. +به خاطر داشته باشید که`props`ها را فقط می‌توان خواند. نباید آنها را به هیچ طریقی تغییر داد: ```js // Wrong! props.number = 42; ``` - -If you need to modify some value in response to user input or a network response, use `state` instead. +اگر نیاز دارید مقداری را در پاسخ به ورودی کاربر یا شبکه تغییر دهید به جای آن از `state` استفاده کنید. ### `props.children` {#propschildren} -`props.children` is available on every component. It contains the content between the opening and closing tags of a component. For example: +`props.children` در هر کامپوننتی قابل دسترسیست. شامل محتوای بین باز شدن و بسته شدن تگ یک کامپوننت است. برای مثال: ```js Hello world! ``` -The string `Hello world!` is available in `props.children` in the `Welcome` component: +متن `Hello world!` در `props.children` در کامپوننت `Welcome` در دسترس است: ```js function Welcome(props) { @@ -109,7 +108,7 @@ function Welcome(props) { } ``` -For components defined as classes, use `this.props.children`: +برای کامپوننت‌هایی که از کلاس استفاده می‌کنند از `this.props.children` استفاده کنید: ```js class Welcome extends React.Component { From 2824ffb1331f4872b4932b2f2338ed6a48d1d51a Mon Sep 17 00:00:00 2001 From: Abolfazl Date: Wed, 4 Mar 2020 19:14:28 +0330 Subject: [PATCH 04/40] Glossary Translated --- content/docs/reference-glossary.md | 45 +++++++++++++++--------------- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index 0cbc2f484..4ce5fe8fd 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -11,11 +11,11 @@ permalink: docs/glossary.html یک نرم‌افزار-تک صفحه‌ای نرم‌افزاری است که یک صفحه HTML با تمامی دارایی‌های ضروری‌اش (مثل جاوا‌اسکریپت و سی اس اس) که برای اجرا شدن نرم‌افزار نیاز هست را بارگیری می‌کند. تمام فعل و انفعالاتی که در صفحه رخ می‌دهد و آنهایی که متعاقبا رخ می‌دهند دیگر به گردشی به دور سرور نیاز ندارند که به این معنیست که صفحه مجددا بارگیری نمی‌شود. -شاید یک برنامه تک صفحه‌ای با ری‌اکت بسازید، اما ری‌اکت یک نیاز ضروری نیست. ری‌کت میتواند برای بهبود قسمت کوچکی از وبسایت حاضر با تعامل اضافی استفاده شود. کد ری‌اکت می‌تواند به شکل مسالمت آمیزی با مارکاپ رندر شده سمت سرور توسط ربانی مثل PHP یا کتابخانه‌های سمت کاربر هم زیستی کند. در واقع، این دلیلیست که ری‌امت در فیس‌بوک استفاده می‌شود. +شاید یک برنامه تک صفحه‌ای با ری‌اکت بسازید، اما ری‌اکت یک نیاز ضروری نیست. ری‌کت میتواند برای بهبود قسمت کوچکی از وبسایت حاضر با تعامل اضافی استفاده شود. کد ری‌اکت می‌تواند به شکل مسالمت آمیزی با مارکاپ رندر شده سمت سرور توسط زبانی مثل PHP یا کتابخانه‌های سمت کاربر هم زیستی کند. در واقع، این دلیلیست که ری‌اکت در فیس‌بوک استفاده می‌شود. ## ES6, ES2015, ES2016, و غیره {#es6-es2015-es2016-etc} -تمام این کلمات اختصاری به جدیدترین ورژن استاندارد‌های زبان ECMAScript رجوع می‌کند که زبان جاواسکریپت از آن پیاده‌سازی شده است. ورژن ES6 (که به ES2015 معروف است ) چند ضمیمه به ورژن قبلی اضافه کرده است مانند: توابع پیکانی, کلاس‌ها, template literals, `let` و `const`. شما می‌توانید در مورد ورژن ها [اینجا](https://en.wikipedia.org/wiki/ECMAScript#Versions) اطلاعات بیشتری کسب کنید. +تمام این کلمات اختصاری به جدیدترین ورژن استاندارد‌های زبان ECMAScript اشاره می‌کند که زبان جاواسکریپت از آن پیاده‌سازی شده است. ورژن ES6 (که به ES2015 معروف است ) چند ضمیمه به ورژن قبلی اضافه کرده است مانند: توابع پیکانی, کلاس‌ها, template literals, `let` و `const`. شما می‌توانید در مورد ورژن ها [اینجا](https://en.wikipedia.org/wiki/ECMAScript#Versions) اطلاعات بیشتری کسب کنید. ## کامپایلر‌ها {#compilers} @@ -51,7 +51,7 @@ ReactDOM.render( ## [Elements](/docs/rendering-elements.html) {#elements} -elementهای ری‌اکت بلاک‌هایی هستند که نرم‌افزارهای ری‌امت را می‌سازند. فردی ممکن است elementها را با مفهموم گسترش یافته "کامپوننت" اشتباه بگیرد. یک المنت چیزی را که می‌خواهید در صفحه نمایش دهید را نشان می‌دهد. المان‌های ری‌اکت immutable هستند. +elementهای ری‌اکت بلاک‌هایی هستند که نرم‌افزارهای ری‌اکت را می‌سازند. فردی ممکن است elementها را با مفهموم گسترش یافته "کامپوننت" اشتباه بگیرد. یک المنت چیزی را که می‌خواهید در صفحه نمایش دهید را نشان می‌دهد. المان‌های ری‌اکت immutable هستند. ```js const element =

Hello, world

; @@ -60,7 +60,7 @@ const element =

Hello, world

; ## [Components](/docs/components-and-props.html) {#components} -کامپوننت‌های ری‌اکت کوچک، تکه‌های قابل استفاده کد هستند که یک element ری ‌اکت برمی‌گردانند تا در صفحه رندر شود. ساده‌ترین ورژن یک کامپوننت ری‌اکت یک تابع جاوااسکریپت ساده است که که یک element ری‌اکت باز می‌گرداند. +کامپوننت‌های ری‌اکت تکه‌های قابل استفاده کوچک کد هستند که یک element ری ‌اکت برمی‌گردانند تا در صفحه رندر شود. ساده‌ترین ورژن یک کامپوننت ری‌اکت یک تابع جاوااسکریپت ساده است که یک element ری‌اکت باز می‌گرداند. ```js function Welcome(props) { @@ -94,7 +94,7 @@ props.number = 42; ### `props.children` {#propschildren} -`props.children` در هر کامپوننتی قابل دسترسیست. شامل محتوای بین باز شدن و بسته شدن تگ یک کامپوننت است. برای مثال: +`props.children` در هر کامپوننتی قابل دسترس است. شامل محتوای بین باز شدن و بسته شدن تگ یک کامپوننت است. برای مثال: ```js Hello world! @@ -120,47 +120,46 @@ class Welcome extends React.Component { ### [`state`](/docs/state-and-lifecycle.html#adding-local-state-to-a-class) {#state} -A component needs `state` when some data associated with it changes over time. For example, a `Checkbox` component might need `isChecked` in its state, and a `NewsFeed` component might want to keep track of `fetchedPosts` in its state. +هنگامی که داده‌ای که با کامپوننت در ارتباط است در و در طول زمان دچار تغییر می‌شود، کامپوننت به `state` نیاز دارد. برای مثال، کامپوننت `Checkbox` شاید به `isChecked` در state خود نیاز داشته باشد، و کامپوننت `NewsFeed` شاید بخواهد تا `fetchedPosts` را در state خود دنبال کند. -The most important difference between `state` and `props` is that `props` are passed from a parent component, but `state` is managed by the component itself. A component cannot change its `props`, but it can change its `state`. +بزرگترین فرق بین `state` و `props` آن است که `هاprop` از طریق کامپوننت پدر انتقال پیدا می‌کنند، ولی `state` توسط خود کامپوننت مدیریت می‌شود. کامپوننت نمی‌تواند `هایprop` خودش را تغییر دهد، ولی می‌تواند `state` خودش را تغییر دهد. -For each particular piece of changing data, there should be just one component that "owns" it in its state. Don't try to synchronize states of two different components. Instead, [lift it up](/docs/lifting-state-up.html) to their closest shared ancestor, and pass it down as props to both of them. +برای هر تکه خاص از تغییر داده، باید فقط یک کامپوننت باشد که آن را در stateاش ازآن خود کند. سعی نکنید که state دو کامپوننت مختلف را باهم یکسان کنید. به جای این کار، آن را به نزدیکترین کامپوننت جد که بین آنها به اشتراک گذاشته شده [انتقال دهید](/docs/lifting-state-up.html) و سپس به هر دوی آنها از بالا به پایین انتقال دهید. ## [Lifecycle Methods](/docs/state-and-lifecycle.html#adding-lifecycle-methods-to-a-class) {#lifecycle-methods} -Lifecycle methods are custom functionality that gets executed during the different phases of a component. There are methods available when the component gets created and inserted into the DOM ([mounting](/docs/react-component.html#mounting)), when the component updates, and when the component gets unmounted or removed from the DOM. +متد‌های چرخه حیات توابع شخصی‌سازی شده ای هستند که در فاز‌های مختلف یک کامپوننت فراخوانی می‌شوند. برای زمانی که کامپوننت ساخته می‌شود و درون DOM اضافه می‌شود([mounting](/docs/react-component.html#mounting))، زمانی که کامپوننت به‌روز رسانی می‌شود، و زمانی که کامپوننت unmounted یا پاک می‌شود متد‌هایی وجود دارند. ## [Controlled](/docs/forms.html#controlled-components) vs. [Uncontrolled Components](/docs/uncontrolled-components.html) -React has two different approaches to dealing with form inputs. +ری‌اکت دو نوع روش برای کار با input فرم ها دارد: -An input form element whose value is controlled by React is called a *controlled component*. When a user enters data into a controlled component a change event handler is triggered and your code decides whether the input is valid (by re-rendering with the updated value). If you do not re-render then the form element will remain unchanged. +input elementای که مقدار آن توسط ری‌اکت کنترل می‌شود را *controlled component* (کامپوننت های کنترل شده) می‌خوانند. هنگامی که کاربر داده‌ای درون یک کامپوننت کنترل شده وارد می‌کند روی‌داد کنترل تغییر فعال می‌شود و کد شما تصمیم می‌گیرد که input شما معتبر است (با استفاده از به‌روز رسانی مقدار). اگر شما مجددا رندر نکنید آن input دست نخورده باقی می‌ماند. -An *uncontrolled component* works like form elements do outside of React. When a user inputs data into a form field (an input box, dropdown, etc) the updated information is reflected without React needing to do anything. However, this also means that you can't force the field to have a certain value. +یک *uncontrolled component* (کامپوننت‌های کنترل نشده) مانند elementهای خارج از ری‌اکت کار می‌کند. اگر کاربر داده‌ای درون فیلدی از فرم وارد کند (input, dropdown, وغیره) اطاعات بدون اینکه ری‌اکت در موردش کاری کند تاثیر می‌پذیرند. همچنین، این به آن معناست که شما نمی‌توانید فیلد را مجبور کنید تا مقدار خاصی داشته باشد. -In most cases you should use controlled components. +در اکثر موارد باید از کامپوننت‌های کنترل شده استفاده کنید. ## [Keys](/docs/lists-and-keys.html) {#keys} -A "key" is a special string attribute you need to include when creating arrays of elements. Keys help React identify which items have changed, are added, or are removed. Keys should be given to the elements inside an array to give the elements a stable identity. +"key" متن خصیصه خاصی هست که هنگامی که میخواهید آرایه ای از elementها را ایجاد کنید نیاز دارید که وارد کنید. Keyها به ری‌اکت کمک می‌کنند که چه آیتمی تغییر کرده، اضافه شده، یا پاک شده است. Keyها باید به elementهای درون آرایه داده شوند تا هویت ثابتی داشته باشند. -Keys only need to be unique among sibling elements in the same array. They don't need to be unique across the whole application or even a single component. +Keyها فقط باید بین هم نژادهایشان درون یک آرایه، منحصر به فرد باشند.نیازی نیست که در تمام برنامه یا حتی درون یک کامپوننت منحصر به فرد باشند. -Don't pass something like `Math.random()` to keys. It is important that keys have a "stable identity" across re-renders so that React can determine when items are added, removed, or re-ordered. Ideally, keys should correspond to unique and stable identifiers coming from your data, such as `post.id`. +چیزی مثل `Math.random()` را برای keyها قرار ندهید. بسیار مهم است که keyها "هویت ثابت" در بین هر رندر داشته باشند تا ری‌اکت بتواند هنگامی که آیتمی اضافه، کم یا مجددا به‌روز رسانی شد تشخیص دهد. در حالت ایده آل، keyها باید با هویت باثباتی که از داده‌های شما می‌آیند مطابق باشند، مانند `post.id`. ## [Refs](/docs/refs-and-the-dom.html) {#refs} -React supports a special attribute that you can attach to any component. The `ref` attribute can be an object created by [`React.createRef()` function](/docs/react-api.html#reactcreateref) or a callback function, or a string (in legacy API). When the `ref` attribute is a callback function, the function receives the underlying DOM element or class instance (depending on the type of element) as its argument. This allows you to have direct access to the DOM element or component instance. - -Use refs sparingly. If you find yourself often using refs to "make things happen" in your app, consider getting more familiar with [top-down data flow](/docs/lifting-state-up.html). +ری‌اکت از خصیصه‌ای پشتیبانی می‌کند که شما می‌توانید به هر کامپوننتی بچسبانید. خصیصه `ref` می‌تواند آبجکتی ساخته شده توسط [`تابع ()React.createRef`](/docs/react-api.html#reactcreateref) یا تابع callback، یا یک متن باشد (در Api قدیم). هنگامی که خصیصه `ref` یک callback باشد، تابع element نهفته DOM و یا instance کلاس را به عنوان آرگومان دریافت می‌کند (بسته به نوع element). این به شما اجازه می‌دهد تا به element DOM یا instance کلاس دسترسی داشته باشید. +از ref زیاد استفاده نکنید. اگر دیدید که مکرر از ref در نرم‌افزارتان استفاده می‌کنید تا همه چیز اتفاق بیافتد در نظر داشته باشید که با [جریان داده از بالا به پایین](/docs/lifting-state-up.html). بیشتر آشنا شوید. ## [Events](/docs/handling-events.html) {#events} -Handling events with React elements has some syntactic differences: +کنترل روی‌دادها با elementهای ری‌اکت قواعد صرف ونحوی متفاوتی دارد : -* React event handlers are named using camelCase, rather than lowercase. -* With JSX you pass a function as the event handler, rather than a string. +* کنترلر‌های روی داد ری‌اکت به شکل شتری نوشته می‌شوند به جای آنکه با حروف کوچک نوشته شوند. +* با JSX شما تابع را به عنوان کنترل روی‌داد انتقال می‌دهید به جای انتقال یک متن. ## [Reconciliation](/docs/reconciliation.html) {#reconciliation} -When a component's props or state change, React decides whether an actual DOM update is necessary by comparing the newly returned element with the previously rendered one. When they are not equal, React will update the DOM. This process is called "reconciliation". +هنگامی که propها یا state تغییر می‌کند، ری‌اکت با مقایسه elementهای بازگشت داده شده و آنهایی که قبلا رندر شده بودند تصمیم می‌گید که DOM اصلی به‌روز رسانی شود یا خیر. هنگامی که با هم برابر نباشند، ری‌اکت DOM را به‌روز رسانی می‌کند. این پردازش "reconciliation" خوانده می‌شود. From 1fdd301c050dc483692bbc0fef56cff90063f728 Mon Sep 17 00:00:00 2001 From: Abolfazl Rezvani Date: Thu, 19 Mar 2020 01:33:13 +0330 Subject: [PATCH 05/40] Enhancements applied --- content/docs/reference-glossary.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index 4ce5fe8fd..f40c52e80 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -7,11 +7,11 @@ permalink: docs/glossary.html --- -## نرم‌افزار تک-صفحه‌ای {#single-page-application} +## برنامه‌ تک-صفحه‌ای {#single-page-application} -یک نرم‌افزار-تک صفحه‌ای نرم‌افزاری است که یک صفحه HTML با تمامی دارایی‌های ضروری‌اش (مثل جاوا‌اسکریپت و سی اس اس) که برای اجرا شدن نرم‌افزار نیاز هست را بارگیری می‌کند. تمام فعل و انفعالاتی که در صفحه رخ می‌دهد و آنهایی که متعاقبا رخ می‌دهند دیگر به گردشی به دور سرور نیاز ندارند که به این معنیست که صفحه مجددا بارگیری نمی‌شود. +یک برنامه‌-تک صفحه‌ای برنامه‌ی است که یک صفحه HTML با تمامی ملزومات آن (مثل جاوا‌اسکریپت و css) که برای اجرا شدن برنامه‌ نیاز هست را بارگیری می‌کند. هر تعاملی با صفحه یا سایر صفحات، دیگر نیازی به ارسال در‌خواست به سمت سرور نیاز ندارد که به معنی عدم بارگیری مجدد صفحه است. -شاید یک برنامه تک صفحه‌ای با ری‌اکت بسازید، اما ری‌اکت یک نیاز ضروری نیست. ری‌کت میتواند برای بهبود قسمت کوچکی از وبسایت حاضر با تعامل اضافی استفاده شود. کد ری‌اکت می‌تواند به شکل مسالمت آمیزی با مارکاپ رندر شده سمت سرور توسط زبانی مثل PHP یا کتابخانه‌های سمت کاربر هم زیستی کند. در واقع، این دلیلیست که ری‌اکت در فیس‌بوک استفاده می‌شود. +شاید یک برنامه تک صفحه‌ای با ری‌اکت بسازید، ولی ری‌اکت به عنوان نیاز اصلی نیست. ری‌کت میتواند برای بهبود قسمت کوچکی از وبسایت حاضر با تعاملی افزوده استفاده شود. کد ری‌اکت می‌تواند به شکل مسالمت آمیزی با مارکاپ رندر شده سمت سرور توسط زبانی مثل PHP یا کتابخانه‌های سمت کاربر هم زیستی کند. در واقع، این دقیقا دلیلیست که ری‌اکت در فیس‌بوک استفاده می‌شود. ## ES6, ES2015, ES2016, و غیره {#es6-es2015-es2016-etc} @@ -19,20 +19,20 @@ permalink: docs/glossary.html ## کامپایلر‌ها {#compilers} -کامپایلر جاوااسکریپت کد جاوااسکریپت شما رو می‌گیرد، و آن‌را به حالت دیگری تبدیل می‌کند. یکی از مواردی که به طور عمومی مورد استفاده قرار می‌گیرد آنست که کد ES6 شما رو دریافت می‌کند و دست خط آن‌را به چیزی که مرورگر‌های قدیمی می‌فهمند تبدیل می‌کند. +کامپایلر جاوااسکریپت کد جاوااسکریپت شما رو می‌گیرد، و آن‌را به حالت دیگری تبدیل می‌کند. یکی از مواردی که به طور عمومی مورد استفاده قرار می‌گیرد آنست که کد ES6 شما رو دریافت می‌کند و دست‌خط آن‌را به چیزی که مرورگر‌های قدیمی می‌فهمند تبدیل می‌کند. [Babel](https://babeljs.io/) کامپایلری هست که عموما در ری‌اکت استفاده می‌شود. ## Bundlers {#bundlers} -Bundlerها کد جاوااسکریپت و سی‌اس‌اس از ماژول‌های جداگانه را می‌گیرند (معملا صدها ماژول) و آنها را در یک فایل جدید که برای مرورگرها بهتر بهینه سازی شده است ترکیب می‌کنند. برخی از Bundlerها در ری‌اکت اضافه شده است مانند [Webpack](https://webpack.js.org/) و [Browserify](http://browserify.org/). +Bundlerها کد جاوااسکریپت و CSS را از ماژول‌های جداگانه را می‌گیرند (معمولا صدها ماژول) و آنها را در یک فایل جدید که برای مرورگرها بهتر بهینه سازی شده است ترکیب می‌کنند. برخی از Bundlerها که در ری‌اکت استفاده شده‌اند مانند [Webpack](https://webpack.js.org/) و [Browserify](http://browserify.org/) هستند. ## Package Managers {#package-managers} -Package managerها ابزارهایی هستند که به شما امکان می‌دهند تا وابستگی‌های پروژه را مدیریت کنید. [npm](https://www.npmjs.com/) و [Yarn](https://yarnpkg.com/) دو Package managerای هستند که عموما در نرم‌افزارهای ری‌اکت استفاده شده‌اند. هر دوی آنها به نوعی ارباب رجوع رجیستری بسته NPM هستند. +Package managerها ابزارهایی هستند که به شما امکان می‌دهند تا وابستگی‌های پروژه را مدیریت کنید. [npm](https://www.npmjs.com/) و [Yarn](https://yarnpkg.com/) دو Package managerای هستند که عموما در برنامه‌های ری‌اکت استفاده شده‌اند. هر دوی آنها به نوعی موکل‌های فهرست ثبت بسته NPM هستند. ## CDN {#cdn} -CDN مخخف Content Delivery Network (شبکه تحویل‌دهی محتوا) است. CDNها محتوای کش شده یا ایستایی یک شبکه از سرور‌ها در سراسر دنیا را تحویل می‌دهند. +CDN مخخف Content Delivery Network (شبکه تحویل‌دهی محتوا) است. CDNها محتوای cach شده یا ایستایی یک شبکه از سرور‌ها در سراسر دنیا را تحویل می‌دهند. ## JSX {#jsx} @@ -51,7 +51,7 @@ ReactDOM.render( ## [Elements](/docs/rendering-elements.html) {#elements} -elementهای ری‌اکت بلاک‌هایی هستند که نرم‌افزارهای ری‌اکت را می‌سازند. فردی ممکن است elementها را با مفهموم گسترش یافته "کامپوننت" اشتباه بگیرد. یک المنت چیزی را که می‌خواهید در صفحه نمایش دهید را نشان می‌دهد. المان‌های ری‌اکت immutable هستند. +elementهای ری‌اکت بلاک‌هایی هستند که برنامه‌های ری‌اکت را می‌سازند. فردی ممکن است elementها را با مفهموم متداول "کامپوننت" اشتباه بگیرد. یک المنت چیزی را که می‌خواهید در صفحه نمایش دهید را نشان می‌دهد. المان‌های ری‌اکت immutable هستند. ```js const element =

Hello, world

; @@ -78,7 +78,7 @@ class Welcome extends React.Component { } ``` -کامپوننت‌ها می‌توانند به تکه‌های مجزای عملکردی شکسته شوند و در کامپوننت‌های دیگر استفاده شوند. کامپوننت‌ها می‌توانند کامپوننت‌های دیگر، متن و عدد برگردانند، یک قانون خوب آنست که اگر کامپوننت شما چندین بار در UI مورد استفاده قرار گرفت (دکمه، پنل، آواتار)، یا به نوبه خودش به اندازه کافی پیچیده شده بود (نرم‌افزار،FeedStory، کامنت‌ها)، کاندید خوبی است برای اینکه به یک کامپوننت قابل استفاده مجدد تبدیل شود. +کامپوننت‌ها می‌توانند به تکه‌های عملکرد مجزا شکسته شوند و در کامپوننت‌های دیگر استفاده شوند. کامپوننت‌ها می‌توانند کامپوننت‌های دیگر، متن و عدد برگردانند، یک قانون خوب آنست که اگر کامپوننت شما چندین بار در UI مورد استفاده قرار گرفت (دکمه، پنل، آواتار)، یا به نوبه خودش به اندازه کافی پیچیده شده بود (برنامه‌،FeedStory، کامنت‌ها)، کاندید خوبی است برای اینکه به یک کامپوننتی تبدیل شود که قابلیت استفاده مجدد داشته باشد. همچنین نام کامپوننت‌ها باید همیشه با حرف بزرگ شروع شود.(`` **نه** ``). برای کسب اطلاعات بیشتر در مورد رندر شدن کامپوننت‌ها [این سند را مشاهده کنید](/docs/components-and-props.html#rendering-a-component). ### [`props`](/docs/components-and-props.html) {#props} @@ -120,7 +120,7 @@ class Welcome extends React.Component { ### [`state`](/docs/state-and-lifecycle.html#adding-local-state-to-a-class) {#state} -هنگامی که داده‌ای که با کامپوننت در ارتباط است در و در طول زمان دچار تغییر می‌شود، کامپوننت به `state` نیاز دارد. برای مثال، کامپوننت `Checkbox` شاید به `isChecked` در state خود نیاز داشته باشد، و کامپوننت `NewsFeed` شاید بخواهد تا `fetchedPosts` را در state خود دنبال کند. +کامپوننت هنگامی به `state` نیاز دارد که داده‌ای که با‌ آن در ارتباط است در طول زمان تغییر کند.برای مثال، کامپوننت `Checkbox` شاید به `isChecked` در state خود نیاز داشته باشد، و کامپوننت `NewsFeed` شاید بخواهد تا `fetchedPosts` را در state خود دنبال کند. بزرگترین فرق بین `state` و `props` آن است که `هاprop` از طریق کامپوننت پدر انتقال پیدا می‌کنند، ولی `state` توسط خود کامپوننت مدیریت می‌شود. کامپوننت نمی‌تواند `هایprop` خودش را تغییر دهد، ولی می‌تواند `state` خودش را تغییر دهد. @@ -134,7 +134,7 @@ class Welcome extends React.Component { ری‌اکت دو نوع روش برای کار با input فرم ها دارد: -input elementای که مقدار آن توسط ری‌اکت کنترل می‌شود را *controlled component* (کامپوننت های کنترل شده) می‌خوانند. هنگامی که کاربر داده‌ای درون یک کامپوننت کنترل شده وارد می‌کند روی‌داد کنترل تغییر فعال می‌شود و کد شما تصمیم می‌گیرد که input شما معتبر است (با استفاده از به‌روز رسانی مقدار). اگر شما مجددا رندر نکنید آن input دست نخورده باقی می‌ماند. +input elementای که مقدار آن توسط ری‌اکت کنترل می‌شود را *controlled component* (کامپوننت های کنترل شده) می‌خوانند. هنگامی که کاربر داده‌ای درون یک کامپوننت کنترل شده وارد می‌کند روی‌داد کنترل تغییر فعال می‌شود و کد شما تصمیم می‌گیرد که input شما معتبر است یا خیر (با استفاده از به‌روز رسانی مقدار). اگر شما مجددا رندر نکنید آن input دست نخورده باقی می‌ماند. یک *uncontrolled component* (کامپوننت‌های کنترل نشده) مانند elementهای خارج از ری‌اکت کار می‌کند. اگر کاربر داده‌ای درون فیلدی از فرم وارد کند (input, dropdown, وغیره) اطاعات بدون اینکه ری‌اکت در موردش کاری کند تاثیر می‌پذیرند. همچنین، این به آن معناست که شما نمی‌توانید فیلد را مجبور کنید تا مقدار خاصی داشته باشد. @@ -142,16 +142,16 @@ input elementای که مقدار آن توسط ری‌اکت کنترل می‌ ## [Keys](/docs/lists-and-keys.html) {#keys} -"key" متن خصیصه خاصی هست که هنگامی که میخواهید آرایه ای از elementها را ایجاد کنید نیاز دارید که وارد کنید. Keyها به ری‌اکت کمک می‌کنند که چه آیتمی تغییر کرده، اضافه شده، یا پاک شده است. Keyها باید به elementهای درون آرایه داده شوند تا هویت ثابتی داشته باشند. +“key” متن خصیصه خاصی هست که هنگام ایجاد آرایه‌ای از elementها باید آن را اضافه کنیم. Keyها به ری‌اکت کمک می‌کنند که چه آیتمی تغییر کرده، اضافه شده، یا پاک شده است. Keyها باید به elementهای درون آرایه داده شوند تا هویت ثابتی داشته باشند. -Keyها فقط باید بین هم نژادهایشان درون یک آرایه، منحصر به فرد باشند.نیازی نیست که در تمام برنامه یا حتی درون یک کامپوننت منحصر به فرد باشند. +Keyها فقط باید بین هم نژادهایشان درون یک آرایه، منحصر به فرد باشند. نیازی نیست که در تمام برنامه یا حتی درون یک کامپوننت منحصر به فرد باشند. چیزی مثل `Math.random()` را برای keyها قرار ندهید. بسیار مهم است که keyها "هویت ثابت" در بین هر رندر داشته باشند تا ری‌اکت بتواند هنگامی که آیتمی اضافه، کم یا مجددا به‌روز رسانی شد تشخیص دهد. در حالت ایده آل، keyها باید با هویت باثباتی که از داده‌های شما می‌آیند مطابق باشند، مانند `post.id`. ## [Refs](/docs/refs-and-the-dom.html) {#refs} ری‌اکت از خصیصه‌ای پشتیبانی می‌کند که شما می‌توانید به هر کامپوننتی بچسبانید. خصیصه `ref` می‌تواند آبجکتی ساخته شده توسط [`تابع ()React.createRef`](/docs/react-api.html#reactcreateref) یا تابع callback، یا یک متن باشد (در Api قدیم). هنگامی که خصیصه `ref` یک callback باشد، تابع element نهفته DOM و یا instance کلاس را به عنوان آرگومان دریافت می‌کند (بسته به نوع element). این به شما اجازه می‌دهد تا به element DOM یا instance کلاس دسترسی داشته باشید. -از ref زیاد استفاده نکنید. اگر دیدید که مکرر از ref در نرم‌افزارتان استفاده می‌کنید تا همه چیز اتفاق بیافتد در نظر داشته باشید که با [جریان داده از بالا به پایین](/docs/lifting-state-up.html). بیشتر آشنا شوید. +از ref زیاد استفاده نکنید. اگر دیدید که مکرر از ref در برنامه‌تان استفاده می‌کنید تا همه چیز اتفاق بیافتد در نظر داشته باشید که با [جریان داده از بالا به پایین](/docs/lifting-state-up.html). بیشتر آشنا شوید. ## [Events](/docs/handling-events.html) {#events} From deb4aa38813679097fd69a6db16bc9b608f70759 Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Sun, 22 Mar 2020 05:52:10 +0430 Subject: [PATCH 06/40] Update content/docs/reference-glossary.md Co-Authored-By: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index f40c52e80..256b19e2e 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -11,7 +11,7 @@ permalink: docs/glossary.html یک برنامه‌-تک صفحه‌ای برنامه‌ی است که یک صفحه HTML با تمامی ملزومات آن (مثل جاوا‌اسکریپت و css) که برای اجرا شدن برنامه‌ نیاز هست را بارگیری می‌کند. هر تعاملی با صفحه یا سایر صفحات، دیگر نیازی به ارسال در‌خواست به سمت سرور نیاز ندارد که به معنی عدم بارگیری مجدد صفحه است. -شاید یک برنامه تک صفحه‌ای با ری‌اکت بسازید، ولی ری‌اکت به عنوان نیاز اصلی نیست. ری‌کت میتواند برای بهبود قسمت کوچکی از وبسایت حاضر با تعاملی افزوده استفاده شود. کد ری‌اکت می‌تواند به شکل مسالمت آمیزی با مارکاپ رندر شده سمت سرور توسط زبانی مثل PHP یا کتابخانه‌های سمت کاربر هم زیستی کند. در واقع، این دقیقا دلیلیست که ری‌اکت در فیس‌بوک استفاده می‌شود. +اگرچه می‌توان یک برنامه تک-صفحه‌ای با ری‌اکت بسازید، اما استفاده از ری‌اکت الزامی نیست. همچنین می‌توان از آن برای بهبود بخش‌های کوچک وبسایت‌های موجود استفاده کرد. کد نوشته شده با ری‌اکت می‌تواند همراه با markup رندر شده سمت سرور، توسط زبانی مثل PHP یا کتاب‌خانه‌های سمت کاربر هم‌زیستی کند. در واقع، ری‌اکت به همین صورت در فیس‌بوک استفاده می‌شود. ## ES6, ES2015, ES2016, و غیره {#es6-es2015-es2016-etc} From b24bf1221e639bb2d70b49da9d83412c01937759 Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Sun, 22 Mar 2020 05:52:18 +0430 Subject: [PATCH 07/40] Update content/docs/reference-glossary.md Co-Authored-By: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index 256b19e2e..12669b9a1 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -15,7 +15,7 @@ permalink: docs/glossary.html ## ES6, ES2015, ES2016, و غیره {#es6-es2015-es2016-etc} -تمام این کلمات اختصاری به جدیدترین ورژن استاندارد‌های زبان ECMAScript اشاره می‌کند که زبان جاواسکریپت از آن پیاده‌سازی شده است. ورژن ES6 (که به ES2015 معروف است ) چند ضمیمه به ورژن قبلی اضافه کرده است مانند: توابع پیکانی, کلاس‌ها, template literals, `let` و `const`. شما می‌توانید در مورد ورژن ها [اینجا](https://en.wikipedia.org/wiki/ECMAScript#Versions) اطلاعات بیشتری کسب کنید. +تمام این کلمات اختصاری به جدیدترین ورژن‌های مشخصات استاندارد زبان ECMAScript اشاره می‌کند که زبان جاواسکریپت پیاده‌سازی‌ای از آن است. ورژن ES6 (که به ES2015 معروف است) مواردی به نسخه‌های قبلی افزوده‌است، مانند: توابع arrow، کلاس‌ها، template literals ،`let` و `const`. شما می‌توانید در مورد ورژن ها [اینجا](https://en.wikipedia.org/wiki/ECMAScript#Versions) اطلاعات بیشتری کسب کنید. ## کامپایلر‌ها {#compilers} From cab86ad8c886f94867aa3ed729fd8f81be8b45cb Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Sun, 22 Mar 2020 05:53:13 +0430 Subject: [PATCH 08/40] Update content/docs/reference-glossary.md Co-Authored-By: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index 12669b9a1..5c12c5228 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -19,7 +19,7 @@ permalink: docs/glossary.html ## کامپایلر‌ها {#compilers} -کامپایلر جاوااسکریپت کد جاوااسکریپت شما رو می‌گیرد، و آن‌را به حالت دیگری تبدیل می‌کند. یکی از مواردی که به طور عمومی مورد استفاده قرار می‌گیرد آنست که کد ES6 شما رو دریافت می‌کند و دست‌خط آن‌را به چیزی که مرورگر‌های قدیمی می‌فهمند تبدیل می‌کند. +یک کامپایلر جاوااسکریپت کد جاوااسکریپت را دریافت کرده، آن را تغییر شکل می‌دهد و کد جاوااسکریپت را با قالب متفاوتی باز می‌گرداند. یک مورد استفاده مرسوم، آنست که کد ES6 شما رو دریافت می‌کند و دست‌خط آن‌را به چیزی که مرورگر‌های قدیمی می‌فهمند تبدیل می‌کند. [Babel](https://babeljs.io/) کامپایلری هست که عموما در ری‌اکت استفاده می‌شود. [Babel](https://babeljs.io/) کامپایلری هست که عموما در ری‌اکت استفاده می‌شود. ## Bundlers {#bundlers} From cca6152d0e44c75817e6a6a4888af8a1a5623b8d Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Sun, 22 Mar 2020 05:53:22 +0430 Subject: [PATCH 09/40] Update content/docs/reference-glossary.md Co-Authored-By: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index 5c12c5228..81011aad8 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -32,7 +32,7 @@ Package managerها ابزارهایی هستند که به شما امکان م ## CDN {#cdn} -CDN مخخف Content Delivery Network (شبکه تحویل‌دهی محتوا) است. CDNها محتوای cach شده یا ایستایی یک شبکه از سرور‌ها در سراسر دنیا را تحویل می‌دهند. +CDN مخفف Content Delivery Network (شبکه تحویل‌ محتوا) است. CDNها محتوای cach شده یا استای یک شبکه از سرور‌ها در سراسر دنیا را تحویل می‌دهند. ## JSX {#jsx} From 56cbf860f9547659ab2c774eba3bff19aa27fa2b Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Sun, 22 Mar 2020 05:53:31 +0430 Subject: [PATCH 10/40] Update content/docs/reference-glossary.md Co-Authored-By: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index 81011aad8..dffc596c6 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -38,7 +38,7 @@ CDN مخفف Content Delivery Network (شبکه تحویل‌ محتوا) است JSX یک افزونه‌ی دست‌خط برای جاوااسکریپت است. به زبان template شبیه است ولی دارای تمام قدرت جاوااسکریپت می‌باشد. JSX توسط فراخوانی `React.createElement()` کامپایل می‌شود که یک شی جاوااسکریپتی ساده به نام "React elements" را باز می‌گرداند. برای دست‌یابی به معرفی JSX می‌توانید [این سند را ببینید](/docs/introducing-jsx.html) و آموزش عمیق‌تری در [اینجا](/docs/jsx-in-depth.html) پیدا کنید. -ری‌اکت Dom از نگارش شتری به‌جای نحوه نام گذاری در خصیصه‌های HTML برای نام گذاری خود استفاده می‌کند. برای مثال `tabindex` در JSX می‌شود `tabIndex`. +در DOM ری‌اکت عرف نامگذاری property ها به‌جای اسامی attribute های HTML، به صورت camleCase است. در JSX برای مثال `tabindex` به `tabIndex` تبدیل می‌شود. همچنین خصیصه `class` به شکل `className` نوشته می‌شود زیرا کلمه `class` در زبان جاوااسکریپت رزرو شده است. ```js From 159f769071896a623181e26061b6d41a0bd041f7 Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Sun, 22 Mar 2020 05:54:19 +0430 Subject: [PATCH 11/40] Update content/docs/reference-glossary.md Co-Authored-By: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index dffc596c6..8778df860 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -13,7 +13,7 @@ permalink: docs/glossary.html اگرچه می‌توان یک برنامه تک-صفحه‌ای با ری‌اکت بسازید، اما استفاده از ری‌اکت الزامی نیست. همچنین می‌توان از آن برای بهبود بخش‌های کوچک وبسایت‌های موجود استفاده کرد. کد نوشته شده با ری‌اکت می‌تواند همراه با markup رندر شده سمت سرور، توسط زبانی مثل PHP یا کتاب‌خانه‌های سمت کاربر هم‌زیستی کند. در واقع، ری‌اکت به همین صورت در فیس‌بوک استفاده می‌شود. -## ES6, ES2015, ES2016, و غیره {#es6-es2015-es2016-etc} +## ES6، ES2015، ES2016 و غیره {#es6-es2015-es2016-etc} تمام این کلمات اختصاری به جدیدترین ورژن‌های مشخصات استاندارد زبان ECMAScript اشاره می‌کند که زبان جاواسکریپت پیاده‌سازی‌ای از آن است. ورژن ES6 (که به ES2015 معروف است) مواردی به نسخه‌های قبلی افزوده‌است، مانند: توابع arrow، کلاس‌ها، template literals ،`let` و `const`. شما می‌توانید در مورد ورژن ها [اینجا](https://en.wikipedia.org/wiki/ECMAScript#Versions) اطلاعات بیشتری کسب کنید. From b651183b3032c4a1a90b177fcd869b9e93ae6e03 Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Sun, 22 Mar 2020 05:57:55 +0430 Subject: [PATCH 12/40] Update content/docs/reference-glossary.md Co-Authored-By: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index 8778df860..f540a0a91 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -28,7 +28,7 @@ Bundlerها کد جاوااسکریپت و CSS را از ماژول‌های ج ## Package Managers {#package-managers} -Package managerها ابزارهایی هستند که به شما امکان می‌دهند تا وابستگی‌های پروژه را مدیریت کنید. [npm](https://www.npmjs.com/) و [Yarn](https://yarnpkg.com/) دو Package managerای هستند که عموما در برنامه‌های ری‌اکت استفاده شده‌اند. هر دوی آنها به نوعی موکل‌های فهرست ثبت بسته NPM هستند. +package managerها ابزارهایی هستند که به شما امکان می‌دهند تا وابستگی‌های پروژه را مدیریت کنید. [npm](https://www.npmjs.com/) و [Yarn](https://yarnpkg.com/) دو package manager مرسوم در برنامه‌های ری‌اکت استفاده شده‌اند. هر دوی آنها مشتری npm registery هستند. ## CDN {#cdn} From daf9a18131e7a5f7fa41973517f57e0a3ce2e97b Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Sun, 22 Mar 2020 05:58:16 +0430 Subject: [PATCH 13/40] Update content/docs/reference-glossary.md Co-Authored-By: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index f540a0a91..0148cbffc 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -36,7 +36,7 @@ CDN مخفف Content Delivery Network (شبکه تحویل‌ محتوا) است ## JSX {#jsx} -JSX یک افزونه‌ی دست‌خط برای جاوااسکریپت است. به زبان template شبیه است ولی دارای تمام قدرت جاوااسکریپت می‌باشد. JSX توسط فراخوانی `React.createElement()` کامپایل می‌شود که یک شی جاوااسکریپتی ساده به نام "React elements" را باز می‌گرداند. برای دست‌یابی به معرفی JSX می‌توانید [این سند را ببینید](/docs/introducing-jsx.html) و آموزش عمیق‌تری در [اینجا](/docs/jsx-in-depth.html) پیدا کنید. +JSX افزونه‌ای بر syntax جاوااسکریپت است. به یک زبان template شبیه است ولی دارای تمام قدرت جاوااسکریپت می‌باشد. JSX توسط فراخوانی `React.createElement()` کامپایل می‌شود که یک شی جاوااسکریپتی ساده به نام "React elements" را باز می‌گرداند. مقدمه‌ای بر مفاهیم پایه‌ای JSX [در این سند آورده شده‌است](/docs/introducing-jsx.html) و می‌توانید آموزش عمیق‌تری در [اینجا](/docs/jsx-in-depth.html) پیدا کنید. در DOM ری‌اکت عرف نامگذاری property ها به‌جای اسامی attribute های HTML، به صورت camleCase است. در JSX برای مثال `tabindex` به `tabIndex` تبدیل می‌شود. همچنین خصیصه `class` به شکل `className` نوشته می‌شود زیرا کلمه `class` در زبان جاوااسکریپت رزرو شده است. From 6e9b9aa2a211ab43737bd21dbd7ae73ee77bdf80 Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:02:18 +0430 Subject: [PATCH 14/40] Update content/docs/reference-glossary.md Co-authored-by: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index 0148cbffc..96fff9f04 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -49,7 +49,7 @@ ReactDOM.render( ); ``` -## [Elements](/docs/rendering-elements.html) {#elements} +## [المنت‌ها](/docs/rendering-elements.html) {#elements} elementهای ری‌اکت بلاک‌هایی هستند که برنامه‌های ری‌اکت را می‌سازند. فردی ممکن است elementها را با مفهموم متداول "کامپوننت" اشتباه بگیرد. یک المنت چیزی را که می‌خواهید در صفحه نمایش دهید را نشان می‌دهد. المان‌های ری‌اکت immutable هستند. From 9a1a3a564f2685097a2d01d1466d454957cf70aa Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:02:49 +0430 Subject: [PATCH 15/40] Update content/docs/reference-glossary.md Co-authored-by: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index 96fff9f04..d7a3f0f08 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -51,7 +51,7 @@ ReactDOM.render( ## [المنت‌ها](/docs/rendering-elements.html) {#elements} -elementهای ری‌اکت بلاک‌هایی هستند که برنامه‌های ری‌اکت را می‌سازند. فردی ممکن است elementها را با مفهموم متداول "کامپوننت" اشتباه بگیرد. یک المنت چیزی را که می‌خواهید در صفحه نمایش دهید را نشان می‌دهد. المان‌های ری‌اکت immutable هستند. +المنت‌های (elements) ری‌اکت بلاک‌هایی هستند که برنامه‌های ری‌اکت را می‌سازند. فردی ممکن است المنت‌ها را با مفهموم متداول "کامپوننت" اشتباه بگیرد. یک المنت چیزی را که می‌خواهید در صفحه نمایش دهید را نشان می‌دهد. المن‌های ری‌اکت تغییر ناپذیر (immutable) هستند. ```js const element =

Hello, world

; From 543902e70f162fa40dcd157a9a83221628d217a2 Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:03:01 +0430 Subject: [PATCH 16/40] Update content/docs/reference-glossary.md Co-authored-by: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index d7a3f0f08..0a400f741 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -58,7 +58,7 @@ const element =

Hello, world

; ``` معمولا، elementها مستقیما استفاده نمی‌شوند، ولی از کامپوننت ها برمی‌گردند. -## [Components](/docs/components-and-props.html) {#components} +## [کامپوننت‌ها](/docs/components-and-props.html) {#components} کامپوننت‌های ری‌اکت تکه‌های قابل استفاده کوچک کد هستند که یک element ری ‌اکت برمی‌گردانند تا در صفحه رندر شود. ساده‌ترین ورژن یک کامپوننت ری‌اکت یک تابع جاوااسکریپت ساده است که یک element ری‌اکت باز می‌گرداند. From 0882ecbd9cfac45ccf802ca3bc9e9ad6fa26f64e Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:03:20 +0430 Subject: [PATCH 17/40] Update content/docs/reference-glossary.md Co-authored-by: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index 0a400f741..21e7e92d1 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -155,7 +155,7 @@ Keyها فقط باید بین هم نژادهایشان درون یک آرای ## [Events](/docs/handling-events.html) {#events} -کنترل روی‌دادها با elementهای ری‌اکت قواعد صرف ونحوی متفاوتی دارد : +مدیریت رخ‌دادها با المنت‌های ری‌اکت تفاوت‌های در قواعد دارد: * کنترلر‌های روی داد ری‌اکت به شکل شتری نوشته می‌شوند به جای آنکه با حروف کوچک نوشته شوند. * با JSX شما تابع را به عنوان کنترل روی‌داد انتقال می‌دهید به جای انتقال یک متن. From 3c6d58c699d64bf390007e84cd000a308ec3773f Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:03:37 +0430 Subject: [PATCH 18/40] Update content/docs/reference-glossary.md Co-authored-by: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index 21e7e92d1..877a618a5 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -158,7 +158,7 @@ Keyها فقط باید بین هم نژادهایشان درون یک آرای مدیریت رخ‌دادها با المنت‌های ری‌اکت تفاوت‌های در قواعد دارد: * کنترلر‌های روی داد ری‌اکت به شکل شتری نوشته می‌شوند به جای آنکه با حروف کوچک نوشته شوند. -* با JSX شما تابع را به عنوان کنترل روی‌داد انتقال می‌دهید به جای انتقال یک متن. +* با بهره‌گیری از JSX، شما یک تابع را به‌جای یک رشته به event handler پاس می‌دهید. ## [Reconciliation](/docs/reconciliation.html) {#reconciliation} From bc75c716098634a75260ad08d997c923c27b5e12 Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:03:45 +0430 Subject: [PATCH 19/40] Update content/docs/reference-glossary.md Co-authored-by: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index 877a618a5..5e3f370f5 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -160,6 +160,6 @@ Keyها فقط باید بین هم نژادهایشان درون یک آرای * کنترلر‌های روی داد ری‌اکت به شکل شتری نوشته می‌شوند به جای آنکه با حروف کوچک نوشته شوند. * با بهره‌گیری از JSX، شما یک تابع را به‌جای یک رشته به event handler پاس می‌دهید. -## [Reconciliation](/docs/reconciliation.html) {#reconciliation} +## [تلفیق](/docs/reconciliation.html) {#reconciliation} هنگامی که propها یا state تغییر می‌کند، ری‌اکت با مقایسه elementهای بازگشت داده شده و آنهایی که قبلا رندر شده بودند تصمیم می‌گید که DOM اصلی به‌روز رسانی شود یا خیر. هنگامی که با هم برابر نباشند، ری‌اکت DOM را به‌روز رسانی می‌کند. این پردازش "reconciliation" خوانده می‌شود. From b17e87c1928d7a5caea200018279476b37c0c027 Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:04:06 +0430 Subject: [PATCH 20/40] Update content/docs/reference-glossary.md Co-authored-by: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index 5e3f370f5..aa9339193 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -162,4 +162,4 @@ Keyها فقط باید بین هم نژادهایشان درون یک آرای ## [تلفیق](/docs/reconciliation.html) {#reconciliation} -هنگامی که propها یا state تغییر می‌کند، ری‌اکت با مقایسه elementهای بازگشت داده شده و آنهایی که قبلا رندر شده بودند تصمیم می‌گید که DOM اصلی به‌روز رسانی شود یا خیر. هنگامی که با هم برابر نباشند، ری‌اکت DOM را به‌روز رسانی می‌کند. این پردازش "reconciliation" خوانده می‌شود. +هنگامی که props یا state تغییر می‌کند، ری‌اکت با مقایسه المنت‌های بازگشت داده شده و آنهایی که قبلا رندر شده بودند تصمیم می‌گید که DOM اصلی به‌روز رسانی شود یا خیر. هنگامی که با هم برابر نباشند، ری‌اکت DOM را به‌روز رسانی می‌کند. این پروسه تلفیق (reconciliation) خوانده می‌شود. From ce72894b08a304b7e4f19297b61ce5901c6ec34d Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:04:28 +0430 Subject: [PATCH 21/40] Update content/docs/reference-glossary.md Co-authored-by: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index aa9339193..8ef56d30b 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -56,7 +56,7 @@ ReactDOM.render( ```js const element =

Hello, world

; ``` -معمولا، elementها مستقیما استفاده نمی‌شوند، ولی از کامپوننت ها برمی‌گردند. +معمولا المنت‌ها مستقیم استفاده نمی‌شوند، بلکه توسط کامپوننت‌ها باز گردانده می‌شوند. ## [کامپوننت‌ها](/docs/components-and-props.html) {#components} From 682bb2a9bbd05f99f24d14518d934af35307b46f Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:04:37 +0430 Subject: [PATCH 22/40] Update content/docs/reference-glossary.md Co-authored-by: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index 8ef56d30b..dba6ba2b5 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -157,7 +157,7 @@ Keyها فقط باید بین هم نژادهایشان درون یک آرای مدیریت رخ‌دادها با المنت‌های ری‌اکت تفاوت‌های در قواعد دارد: -* کنترلر‌های روی داد ری‌اکت به شکل شتری نوشته می‌شوند به جای آنکه با حروف کوچک نوشته شوند. +* در ری‌اکت، event handler ها طبق قانون camleCase به‌جای lowercase نامگذاری می‌شوند. * با بهره‌گیری از JSX، شما یک تابع را به‌جای یک رشته به event handler پاس می‌دهید. ## [تلفیق](/docs/reconciliation.html) {#reconciliation} From fb9671a1e7bc90a1576191b42fc21afb1daeedad Mon Sep 17 00:00:00 2001 From: Abolfazl Rezvani Naraqi Date: Mon, 4 May 2020 17:16:58 +0430 Subject: [PATCH 23/40] The One line removed --- content/docs/reference-glossary.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index dba6ba2b5..a7287ea1a 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -19,8 +19,7 @@ permalink: docs/glossary.html ## کامپایلر‌ها {#compilers} -یک کامپایلر جاوااسکریپت کد جاوااسکریپت را دریافت کرده، آن را تغییر شکل می‌دهد و کد جاوااسکریپت را با قالب متفاوتی باز می‌گرداند. یک مورد استفاده مرسوم، آنست که کد ES6 شما رو دریافت می‌کند و دست‌خط آن‌را به چیزی که مرورگر‌های قدیمی می‌فهمند تبدیل می‌کند. [Babel](https://babeljs.io/) کامپایلری هست که عموما در ری‌اکت استفاده می‌شود. -[Babel](https://babeljs.io/) کامپایلری هست که عموما در ری‌اکت استفاده می‌شود. +یک کامپایلر جاوااسکریپت کد جاوااسکریپت را دریافت کرده، آن را تغییر شکل می‌دهد و کد جاوااسکریپت را با قالب متفاوتی باز می‌گرداند. یک مورد استفاده مرسوم، آنست که کد ES6 شما رو دریافت می‌کند و دست‌خط آن‌را به چیزی که مرورگر‌های قدیمی می‌فهمند تبدیل می‌کن. [Babel](https://babeljs.io/) کامپایلری هست که عموما در ری‌اکت استفاده می‌شود. [Babel](https://babeljs.io/) کامپایلری هست که عموما در ری‌اکت استفاده می‌شود. ## Bundlers {#bundlers} From cf90bb168aa3a433b1c9758d9ea06fc8252156e3 Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:20:04 +0430 Subject: [PATCH 24/40] Update content/docs/reference-glossary.md Co-authored-by: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index a7287ea1a..ae1461727 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -59,7 +59,7 @@ const element =

Hello, world

; ## [کامپوننت‌ها](/docs/components-and-props.html) {#components} -کامپوننت‌های ری‌اکت تکه‌های قابل استفاده کوچک کد هستند که یک element ری ‌اکت برمی‌گردانند تا در صفحه رندر شود. ساده‌ترین ورژن یک کامپوننت ری‌اکت یک تابع جاوااسکریپت ساده است که یک element ری‌اکت باز می‌گرداند. +کامپوننت‌های ری‌اکت تکه‌های کوچک کد، با قابلیت استفاده مجدد هستند. آن‌ها یک المنت ری‌‌اکت را برمی‌گردانند تا در صفحه رندر شود. ساده‌ترین نسخه یک کامپوننت ری‌اکت یک تابع جاوااسکریپت ساده است که یک المنت ری‌اکت را باز می‌گرداند. ```js function Welcome(props) { From 5156625da2aebea95a47cec9329dc26aa850b31d Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:28:18 +0430 Subject: [PATCH 25/40] Update content/docs/reference-glossary.md Co-authored-by: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index ae1461727..7c36dd81c 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -77,7 +77,7 @@ class Welcome extends React.Component { } ``` -کامپوننت‌ها می‌توانند به تکه‌های عملکرد مجزا شکسته شوند و در کامپوننت‌های دیگر استفاده شوند. کامپوننت‌ها می‌توانند کامپوننت‌های دیگر، متن و عدد برگردانند، یک قانون خوب آنست که اگر کامپوننت شما چندین بار در UI مورد استفاده قرار گرفت (دکمه، پنل، آواتار)، یا به نوبه خودش به اندازه کافی پیچیده شده بود (برنامه‌،FeedStory، کامنت‌ها)، کاندید خوبی است برای اینکه به یک کامپوننتی تبدیل شود که قابلیت استفاده مجدد داشته باشد. +کامپوننت‌ها می‌توانند به تکه‌هایی با عملکرد مجزا شکسته و در کامپوننت‌های دیگر استفاده شوند. کامپوننت‌ها می‌توانند دیگر کامپوننت‌ها، آرایه‌ها، متن و عدد را برگردانند. یک قانون تجربی خوب آنست که اگر بخشی از رابط کاربری شما چندبار مورد استفاده قرار گرفت (Button، Panel یا Avatar)، یا به نوبه خودش به اندازه کافی پیچیده شده‌بود (App، FeedStory یا Comment)، کاندید خوبی برای تبدیل به یک کامپوننت است که قابلیت استفاده مجدد داشته باشد. همچنین نام کامپوننت‌ها باید همیشه با حرف بزرگ شروع شود.(`` **نه** ``). برای کسب اطلاعات بیشتر در مورد رندر شدن کامپوننت‌ها [این سند را مشاهده کنید](/docs/components-and-props.html#rendering-a-component). ### [`props`](/docs/components-and-props.html) {#props} From 3d0ca9eb07e192fbc71330c3b8328d0c67c7f9b7 Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:28:32 +0430 Subject: [PATCH 26/40] Update content/docs/reference-glossary.md Co-authored-by: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index 7c36dd81c..6faa1dd3e 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -78,7 +78,7 @@ class Welcome extends React.Component { ``` کامپوننت‌ها می‌توانند به تکه‌هایی با عملکرد مجزا شکسته و در کامپوننت‌های دیگر استفاده شوند. کامپوننت‌ها می‌توانند دیگر کامپوننت‌ها، آرایه‌ها، متن و عدد را برگردانند. یک قانون تجربی خوب آنست که اگر بخشی از رابط کاربری شما چندبار مورد استفاده قرار گرفت (Button، Panel یا Avatar)، یا به نوبه خودش به اندازه کافی پیچیده شده‌بود (App، FeedStory یا Comment)، کاندید خوبی برای تبدیل به یک کامپوننت است که قابلیت استفاده مجدد داشته باشد. -همچنین نام کامپوننت‌ها باید همیشه با حرف بزرگ شروع شود.(`` **نه** ``). برای کسب اطلاعات بیشتر در مورد رندر شدن کامپوننت‌ها [این سند را مشاهده کنید](/docs/components-and-props.html#rendering-a-component). +همچنین نام کامپوننت‌ها باید همیشه با حرف بزرگ شروع شود (`` **نه** ``). برای کسب اطلاعات بیشتر در مورد رندر شدن کامپوننت‌ها [این سند ](/docs/components-and-props.html#rendering-a-component) را مشاهده کنید. ### [`props`](/docs/components-and-props.html) {#props} From ec6b3c79412c428cc63d8be925c4bd3f8bad631f Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:28:40 +0430 Subject: [PATCH 27/40] Update content/docs/reference-glossary.md --- content/docs/reference-glossary.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index 6faa1dd3e..16f5125e9 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -19,7 +19,8 @@ permalink: docs/glossary.html ## کامپایلر‌ها {#compilers} -یک کامپایلر جاوااسکریپت کد جاوااسکریپت را دریافت کرده، آن را تغییر شکل می‌دهد و کد جاوااسکریپت را با قالب متفاوتی باز می‌گرداند. یک مورد استفاده مرسوم، آنست که کد ES6 شما رو دریافت می‌کند و دست‌خط آن‌را به چیزی که مرورگر‌های قدیمی می‌فهمند تبدیل می‌کن. [Babel](https://babeljs.io/) کامپایلری هست که عموما در ری‌اکت استفاده می‌شود. [Babel](https://babeljs.io/) کامپایلری هست که عموما در ری‌اکت استفاده می‌شود. +یک کامپایلر جاوااسکریپت کد جاوااسکریپت را دریافت کرده، آن را تغییر شکل می‌دهد و کد جاوااسکریپت را با قالب متفاوتی باز می‌گرداند. یک مورد استفاده مرسوم، آنست که کد ES6 شما رو دریافت می‌کند و دست‌خط آن‌را به چیزی که مرورگر‌های قدیمی می‌فهمند تبدیل می‌کن. [Babel](https://babeljs.io/) کامپایلری هست که عموما در ری‌اکت استفاده می‌شود. +[Babel](https://babeljs.io/) کامپایلری هست که عموما در ری‌اکت استفاده می‌شود. ## Bundlers {#bundlers} From 8541ffd0c5b80f48cc4018e5e31d04b795fd188a Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:29:00 +0430 Subject: [PATCH 28/40] Update content/docs/reference-glossary.md Co-authored-by: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index 16f5125e9..96a7e2e2c 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -94,7 +94,7 @@ props.number = 42; ### `props.children` {#propschildren} -`props.children` در هر کامپوننتی قابل دسترس است. شامل محتوای بین باز شدن و بسته شدن تگ یک کامپوننت است. برای مثال: +`props.children` در هر کامپوننتی قابل دسترس است. محتوای بین تگ باز و بسته‌ی یک کامپوننت را دربر دارد. برای مثال: ```js Hello world! From 2889a644a5c1c2c579ff272d2f74d036e3d8012b Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:29:13 +0430 Subject: [PATCH 29/40] Update content/docs/reference-glossary.md Co-authored-by: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index 96a7e2e2c..45223737f 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -100,7 +100,7 @@ props.number = 42; Hello world! ``` -متن `Hello world!` در `props.children` در کامپوننت `Welcome` در دسترس است: +رشته `Hello world!` در `props.children` در کامپوننت `Welcome` در دسترس است: ```js function Welcome(props) { From a2ff40e8233924c6783c41193a5755724e55b918 Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:29:31 +0430 Subject: [PATCH 30/40] Update content/docs/reference-glossary.md Co-authored-by: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index 45223737f..b1bddcaa5 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -108,7 +108,7 @@ function Welcome(props) { } ``` -برای کامپوننت‌هایی که از کلاس استفاده می‌کنند از `this.props.children` استفاده کنید: +برای کامپوننت‌هایی بر پایه کلاس تعریف شده‌اند، از `this.props.children` استفاده کنید: ```js class Welcome extends React.Component { From 2dc9b4e651453bbdf90c07585b302d7199ab74bf Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:29:45 +0430 Subject: [PATCH 31/40] Update content/docs/reference-glossary.md Co-authored-by: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index b1bddcaa5..00f636f54 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -120,7 +120,7 @@ class Welcome extends React.Component { ### [`state`](/docs/state-and-lifecycle.html#adding-local-state-to-a-class) {#state} -کامپوننت هنگامی به `state` نیاز دارد که داده‌ای که با‌ آن در ارتباط است در طول زمان تغییر کند.برای مثال، کامپوننت `Checkbox` شاید به `isChecked` در state خود نیاز داشته باشد، و کامپوننت `NewsFeed` شاید بخواهد تا `fetchedPosts` را در state خود دنبال کند. +کامپوننت هنگامی به `state` نیاز دارد که داده‌ای که با‌ آن در ارتباط است در طول زمان تغییر کند. برای مثال، کامپوننت `Checkbox` شاید به `isChecked` در state خود نیاز داشته باشد، و کامپوننت `NewsFeed` شاید بخواهد تا `fetchedPosts` را در state خود دنبال کند. بزرگترین فرق بین `state` و `props` آن است که `هاprop` از طریق کامپوننت پدر انتقال پیدا می‌کنند، ولی `state` توسط خود کامپوننت مدیریت می‌شود. کامپوننت نمی‌تواند `هایprop` خودش را تغییر دهد، ولی می‌تواند `state` خودش را تغییر دهد. From 0d64d410bdae8a97c92862a0f59984286efedce0 Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:29:57 +0430 Subject: [PATCH 32/40] Update content/docs/reference-glossary.md Co-authored-by: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index 00f636f54..c3b883be1 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -124,7 +124,7 @@ class Welcome extends React.Component { بزرگترین فرق بین `state` و `props` آن است که `هاprop` از طریق کامپوننت پدر انتقال پیدا می‌کنند، ولی `state` توسط خود کامپوننت مدیریت می‌شود. کامپوننت نمی‌تواند `هایprop` خودش را تغییر دهد، ولی می‌تواند `state` خودش را تغییر دهد. -برای هر تکه خاص از تغییر داده، باید فقط یک کامپوننت باشد که آن را در stateاش ازآن خود کند. سعی نکنید که state دو کامپوننت مختلف را باهم یکسان کنید. به جای این کار، آن را به نزدیکترین کامپوننت جد که بین آنها به اشتراک گذاشته شده [انتقال دهید](/docs/lifting-state-up.html) و سپس به هر دوی آنها از بالا به پایین انتقال دهید. +برای هر داده مشخصی که تغییر می‌کند، فقط یک کامپوننت باید باشد که آن را در stateاش ازآن خود کند. سعی نکنید که state دو کامپوننت مختلف را باهم همگام‌سازی کنید. به جای این کار، آن را به بالا، یعنی نزدیکترین کامپوننت جد مشترک آن‌ها [انتقال دهید](/docs/lifting-state-up.html) و سپس از بالا به پایین توسط props به هردوی آن‌ها انتقال دهید. ## [Lifecycle Methods](/docs/state-and-lifecycle.html#adding-lifecycle-methods-to-a-class) {#lifecycle-methods} From 150d467961ca72a83ff9e1729e38d22382abc86a Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:30:27 +0430 Subject: [PATCH 33/40] Update content/docs/reference-glossary.md Co-authored-by: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index c3b883be1..43ca54c72 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -128,7 +128,7 @@ class Welcome extends React.Component { ## [Lifecycle Methods](/docs/state-and-lifecycle.html#adding-lifecycle-methods-to-a-class) {#lifecycle-methods} -متد‌های چرخه حیات توابع شخصی‌سازی شده ای هستند که در فاز‌های مختلف یک کامپوننت فراخوانی می‌شوند. برای زمانی که کامپوننت ساخته می‌شود و درون DOM اضافه می‌شود([mounting](/docs/react-component.html#mounting))، زمانی که کامپوننت به‌روز رسانی می‌شود، و زمانی که کامپوننت unmounted یا پاک می‌شود متد‌هایی وجود دارند. +متد‌های چرخه حیات (Lifecycle Methods) توابع شخصی‌سازی شده‌ای هستند که در فاز‌های مختلف یک کامپوننت فراخوانی می‌شوند. برای زمانی که کامپوننت ساخته می‌شود و درون DOM اضافه می‌شود ([mounting](/docs/react-component.html#mounting))، زمانی که کامپوننت به‌روز رسانی می‌شود، و زمانی که کامپوننت unmounted یا از DOM حذف می‌شود متد‌هایی وجود دارند. ## [Controlled](/docs/forms.html#controlled-components) vs. [Uncontrolled Components](/docs/uncontrolled-components.html) From 756bc0aebdc8dd2850eb99b807fadd0dfaac8e66 Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:30:40 +0430 Subject: [PATCH 34/40] Update content/docs/reference-glossary.md Co-authored-by: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index 43ca54c72..9aad8d3a5 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -130,7 +130,7 @@ class Welcome extends React.Component { متد‌های چرخه حیات (Lifecycle Methods) توابع شخصی‌سازی شده‌ای هستند که در فاز‌های مختلف یک کامپوننت فراخوانی می‌شوند. برای زمانی که کامپوننت ساخته می‌شود و درون DOM اضافه می‌شود ([mounting](/docs/react-component.html#mounting))، زمانی که کامپوننت به‌روز رسانی می‌شود، و زمانی که کامپوننت unmounted یا از DOM حذف می‌شود متد‌هایی وجود دارند. - ## [Controlled](/docs/forms.html#controlled-components) vs. [Uncontrolled Components](/docs/uncontrolled-components.html) + ## [کامپوننت‌های کنترل‌شده](/docs/forms.html#controlled-components) در برابر [کنترل‌نشده](/docs/uncontrolled-components.html) ری‌اکت دو نوع روش برای کار با input فرم ها دارد: From fe754e8db59fd73bb99b2807e20ba460214a2ecd Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:31:43 +0430 Subject: [PATCH 35/40] Update content/docs/reference-glossary.md Co-authored-by: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index 9aad8d3a5..740a3b8a9 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -134,7 +134,7 @@ class Welcome extends React.Component { ری‌اکت دو نوع روش برای کار با input فرم ها دارد: -input elementای که مقدار آن توسط ری‌اکت کنترل می‌شود را *controlled component* (کامپوننت های کنترل شده) می‌خوانند. هنگامی که کاربر داده‌ای درون یک کامپوننت کنترل شده وارد می‌کند روی‌داد کنترل تغییر فعال می‌شود و کد شما تصمیم می‌گیرد که input شما معتبر است یا خیر (با استفاده از به‌روز رسانی مقدار). اگر شما مجددا رندر نکنید آن input دست نخورده باقی می‌ماند. +المنت‌های ورودی که مقدار آن‌ها توسط ری‌اکت کنترل می‌شود را *کامپوننت های کنترل شده (controlled component)* می‌خوانند. هنگامی که کاربر داده‌ای درون یک کامپوننت کنترل شده وارد می‌کند event handler تغییر فعال می‌شود و کد شما تصمیم می‌گیرد که input شما معتبر است یا خیر (با استفاده از به‌روز رسانی مقدار). اگر شما مجددا رندر نکنید آن input دست نخورده باقی می‌ماند. یک *uncontrolled component* (کامپوننت‌های کنترل نشده) مانند elementهای خارج از ری‌اکت کار می‌کند. اگر کاربر داده‌ای درون فیلدی از فرم وارد کند (input, dropdown, وغیره) اطاعات بدون اینکه ری‌اکت در موردش کاری کند تاثیر می‌پذیرند. همچنین، این به آن معناست که شما نمی‌توانید فیلد را مجبور کنید تا مقدار خاصی داشته باشد. From 6d93c7e72980df9962cfdd1db076564218555675 Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:31:58 +0430 Subject: [PATCH 36/40] Update content/docs/reference-glossary.md Co-authored-by: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index 740a3b8a9..e9cdc21bc 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -136,7 +136,7 @@ class Welcome extends React.Component { المنت‌های ورودی که مقدار آن‌ها توسط ری‌اکت کنترل می‌شود را *کامپوننت های کنترل شده (controlled component)* می‌خوانند. هنگامی که کاربر داده‌ای درون یک کامپوننت کنترل شده وارد می‌کند event handler تغییر فعال می‌شود و کد شما تصمیم می‌گیرد که input شما معتبر است یا خیر (با استفاده از به‌روز رسانی مقدار). اگر شما مجددا رندر نکنید آن input دست نخورده باقی می‌ماند. -یک *uncontrolled component* (کامپوننت‌های کنترل نشده) مانند elementهای خارج از ری‌اکت کار می‌کند. اگر کاربر داده‌ای درون فیلدی از فرم وارد کند (input, dropdown, وغیره) اطاعات بدون اینکه ری‌اکت در موردش کاری کند تاثیر می‌پذیرند. همچنین، این به آن معناست که شما نمی‌توانید فیلد را مجبور کنید تا مقدار خاصی داشته باشد. +یک کامپوننت‌ کنترل نشده (uncontrolled component) مانند المنت‌های خارج از ری‌اکت کار می‌کند. اگر کاربر داده‌ای درون فیلدی از فرم وارد کند (input، dropdown و غیره) بدون این‌که ری‌اکت کاری کند، اطلاعات آن مورد تغییر قرار می‌گیرد. همچنین، به آن معناست که شما نمی‌توانید فیلد را مجبور کنید تا مقدار خاصی داشته باشد. در اکثر موارد باید از کامپوننت‌های کنترل شده استفاده کنید. From 75e0ee0173b3a48b4ae28510f1d0bebb2f9834f4 Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:32:23 +0430 Subject: [PATCH 37/40] Update content/docs/reference-glossary.md Co-authored-by: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index e9cdc21bc..f96d5e4c2 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -142,7 +142,7 @@ class Welcome extends React.Component { ## [Keys](/docs/lists-and-keys.html) {#keys} -“key” متن خصیصه خاصی هست که هنگام ایجاد آرایه‌ای از elementها باید آن را اضافه کنیم. Keyها به ری‌اکت کمک می‌کنند که چه آیتمی تغییر کرده، اضافه شده، یا پاک شده است. Keyها باید به elementهای درون آرایه داده شوند تا هویت ثابتی داشته باشند. +یک “key” خصوصیت ویژه‌ای از جنس رشته است که باید هنگام ایجاد آرایه‌ای از المنت‌ها آن را اضافه کنیم. keyها به ری‌اکت کمک می‌کنند که چه آیتمی تغییر کرده، اضافه شده، یا پاک شده است. با دادن Keyها به المنت‌های درون آرایه، هویت پایداری به آن‌ها داده می‌شود. Keyها فقط باید بین هم نژادهایشان درون یک آرایه، منحصر به فرد باشند. نیازی نیست که در تمام برنامه یا حتی درون یک کامپوننت منحصر به فرد باشند. From 7e48abda0ad434916700965c6294c02f0114b98c Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:32:37 +0430 Subject: [PATCH 38/40] Update content/docs/reference-glossary.md Co-authored-by: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index f96d5e4c2..7c4174e68 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -144,7 +144,7 @@ class Welcome extends React.Component { یک “key” خصوصیت ویژه‌ای از جنس رشته است که باید هنگام ایجاد آرایه‌ای از المنت‌ها آن را اضافه کنیم. keyها به ری‌اکت کمک می‌کنند که چه آیتمی تغییر کرده، اضافه شده، یا پاک شده است. با دادن Keyها به المنت‌های درون آرایه، هویت پایداری به آن‌ها داده می‌شود. -Keyها فقط باید بین هم نژادهایشان درون یک آرایه، منحصر به فرد باشند. نیازی نیست که در تمام برنامه یا حتی درون یک کامپوننت منحصر به فرد باشند. +Keyها فقط باید بین هم همتایان (siblings) درون یک آرایه، منحصر به فرد باشند. نیازی نیست که در تمام برنامه یا حتی درون یک کامپوننت منحصر به فرد باشند. چیزی مثل `Math.random()` را برای keyها قرار ندهید. بسیار مهم است که keyها "هویت ثابت" در بین هر رندر داشته باشند تا ری‌اکت بتواند هنگامی که آیتمی اضافه، کم یا مجددا به‌روز رسانی شد تشخیص دهد. در حالت ایده آل، keyها باید با هویت باثباتی که از داده‌های شما می‌آیند مطابق باشند، مانند `post.id`. From 0a6084701e8009dc861b6e7e2744a0f930ed8130 Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:32:54 +0430 Subject: [PATCH 39/40] Update content/docs/reference-glossary.md Co-authored-by: Soroush Torkzadeh --- content/docs/reference-glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index 7c4174e68..a45db2791 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -150,7 +150,7 @@ Keyها فقط باید بین هم همتایان (siblings) درون یک آر ## [Refs](/docs/refs-and-the-dom.html) {#refs} -ری‌اکت از خصیصه‌ای پشتیبانی می‌کند که شما می‌توانید به هر کامپوننتی بچسبانید. خصیصه `ref` می‌تواند آبجکتی ساخته شده توسط [`تابع ()React.createRef`](/docs/react-api.html#reactcreateref) یا تابع callback، یا یک متن باشد (در Api قدیم). هنگامی که خصیصه `ref` یک callback باشد، تابع element نهفته DOM و یا instance کلاس را به عنوان آرگومان دریافت می‌کند (بسته به نوع element). این به شما اجازه می‌دهد تا به element DOM یا instance کلاس دسترسی داشته باشید. +ری‌اکت از خصوصیتی پشتیبانی می‌کند که شما می‌توانید آن را به هر کامپوننتی بچسبانید. خصیصه `ref` می‌تواند آبجکتی ساخته شده توسط [`تابع ()React.createRef`](/docs/react-api.html#reactcreateref) یا تابع callback، یا یک متن باشد (در Api قدیم). هنگامی که خصیصه `ref` یک callback است، آن تابع المنتی [که ref به آن نسبت داده شده] از DOM را و یا instance کلاس را به عنوان آرگومان دریافت می‌کند (به نوع المنت بستگی دارد). این به شما اجازه می‌دهد تا به المنت DOM یا instance کلاس دسترسی داشته باشید. از ref زیاد استفاده نکنید. اگر دیدید که مکرر از ref در برنامه‌تان استفاده می‌کنید تا همه چیز اتفاق بیافتد در نظر داشته باشید که با [جریان داده از بالا به پایین](/docs/lifting-state-up.html). بیشتر آشنا شوید. ## [Events](/docs/handling-events.html) {#events} From f0a00ac7c4f88b16ac28a801adf8e9772cee7cdc Mon Sep 17 00:00:00 2001 From: Abolfazl Reazvani Naraqi Date: Mon, 4 May 2020 17:33:09 +0430 Subject: [PATCH 40/40] Update content/docs/reference-glossary.md Co-authored-by: Soroush Torkzadeh --- content/docs/reference-glossary.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/content/docs/reference-glossary.md b/content/docs/reference-glossary.md index a45db2791..0e7fcce6f 100644 --- a/content/docs/reference-glossary.md +++ b/content/docs/reference-glossary.md @@ -151,7 +151,8 @@ Keyها فقط باید بین هم همتایان (siblings) درون یک آر ## [Refs](/docs/refs-and-the-dom.html) {#refs} ری‌اکت از خصوصیتی پشتیبانی می‌کند که شما می‌توانید آن را به هر کامپوننتی بچسبانید. خصیصه `ref` می‌تواند آبجکتی ساخته شده توسط [`تابع ()React.createRef`](/docs/react-api.html#reactcreateref) یا تابع callback، یا یک متن باشد (در Api قدیم). هنگامی که خصیصه `ref` یک callback است، آن تابع المنتی [که ref به آن نسبت داده شده] از DOM را و یا instance کلاس را به عنوان آرگومان دریافت می‌کند (به نوع المنت بستگی دارد). این به شما اجازه می‌دهد تا به المنت DOM یا instance کلاس دسترسی داشته باشید. -از ref زیاد استفاده نکنید. اگر دیدید که مکرر از ref در برنامه‌تان استفاده می‌کنید تا همه چیز اتفاق بیافتد در نظر داشته باشید که با [جریان داده از بالا به پایین](/docs/lifting-state-up.html). بیشتر آشنا شوید. + +از ref زیاد استفاده نکنید. اگر دیدید که مکرر از ref در برنامه‌تان استفاده می‌کنید تا کارتان را راه بیاندازید، در نظر داشته باشید که با [جریان داده از بالا به پایین](/docs/lifting-state-up.html) بیشتر آشنا شوید. ## [Events](/docs/handling-events.html) {#events}