Skip to content

Commit 24ca7bb

Browse files
author
Abolfazl Rezvani Naraqi
authored
Update thinking-in-react.md
1 parent 2be36ea commit 24ca7bb

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

src/content/learn/thinking-in-react.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -307,16 +307,18 @@ SearchBar نیاز دارد که این استیت (متن جستجو و مقد
307307
تصمیم برای محل قرارگیری استیت: ما مقادیر متن فیلتر و وضعیت چک‌باکس را در FilterableProductTable نگه‌داری خواهیم کرد. ***
308308
بنابراین مقادیر استیت در FilterableProductTable قرار خواهند گرفت.
309309
</p>
310-
310+
<p dir="rtl">
311311
استیت را درون کامپوننتی که [`useState()` Hook.](/reference/react/useState) دارد اضافه کنید. Hookها توابه خاصی هستند که به شما اجازه می‌دهند تا قدرت ری‌اکت را درونشان قلاب کنید. دو متغییر استیت در بالای `FilterableProductTable`تعریف و مقدار پیش‌فرض آنها را مشخص کنید:
312+
</p>
312313

313314
```js
314315
function FilterableProductTable({ products }) {
315316
const [filterText, setFilterText] = useState('');
316317
const [inStockOnly, setInStockOnly] = useState(false);
317318
```
318-
319+
<p dir="rtl">
319320
سپس `filterText` و `inStockOnly` را به `ProductTable` و `SearchBar` به عنوان prop ارسال کنید:
321+
</p>
320322
321323
```js
322324
<div>
@@ -328,9 +330,11 @@ function FilterableProductTable({ products }) {
328330
/>
329331
</div>
330332
```
333+
331334
<p dir="rtl">
332335
شما می‌توانید شروع به دیدن نحوه‌ی رفتار برنامه‌ی خود کنید. مقدار اولیه filterText را از useState('') به useState('fruit') در کد محیط آزمایشی زیر ویرایش کنید. خواهید دید که هر دو متن ورودی جستجو و جدول به‌روزرسانی می‌شوند.
333336
</p>
337+
334338
<Sandpack>
335339
336340
```jsx App.js
@@ -456,7 +460,6 @@ td {
456460
457461
</Sandpack>
458462
459-
Notice that editing the form doesn't work yet. There is a console error in the sandbox above explaining why:
460463
<p dir="rtl"> توجه کنید که هنوز ویرایش فرم کار نمی‌کند. یک خطا در کنسول محیط آزمایشی بالا وجود دارد که دلیل آن را توضیح می‌دهد.</p>
461464
<ConsoleBlock level="error">
462465
@@ -476,8 +479,10 @@ function SearchBar({ filterText, inStockOnly }) {
476479
value={filterText}
477480
placeholder="Search..."/>
478481
```
479-
482+
<p dir="rtl">
480483
با این حال، هنوز کدی برای پاسخ به اقدامات کاربر مانند تایپ کردن اضافه نکرده‌اید. این مرحله آخر شما خواهد بود.
484+
</p>
485+
481486
## Step 5: Add inverse data flow {/* step-5-add-inverse-data-flow */}
482487
<p dir="rtl">
483488
در حال حاضر برنامه‌ی شما با پراپ‌ها و استیت‌ها که از بالا به پایین سلسله‌مراتب به‌خوبی رندر می‌شود. اما برای تغییر استیت بر اساس ورودی کاربر، شما نیاز به پشتیبانی از جریان داده به سمت دیگر دارید: کامپوننت‌های فرم (form components) که در عمق سلسله‌مراتب هستند باید استیت را در FilterableProductTable به‌روزرسانی دهنده.

0 commit comments

Comments
 (0)