Skip to content

Commit

Permalink
FIX mistakes
Browse files Browse the repository at this point in the history
  • Loading branch information
sayjeyhi committed Aug 14, 2020
1 parent 0e61d71 commit 61c89d1
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 40 deletions.
41 changes: 21 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@
|79 | [روش توضیه شده برای نام‌گذاری کامپوننت‌ها چیه؟](#روش-توضیه-شده-برای-نامگذاری-کامپوننتها-چیه) |
|80 | [روش توصیه شده برای ترتیب متدها در کلاس کامپوننت‌ها چیه؟](#روش-توصیه-شده-برای-ترتیب-متدها-در-کلاس-کامپوننتها-چیه) |
|81 | [کامپوننت تعویض کننده یا switching چیه؟](#کامپوننت-تعویض-کننده-یا-switching-چیه) |
|82 | [چرت نیاز میشه به تایع setState یه فانکشن callback پاس بدیم؟](#چرت-نیاز-میشه-به-تایع-setState-یه-فانکشن-callback-پاس-بدیم) |
|82 | [چرا نیاز میشه به تایع setState یه فانکشن callback پاس بدیم؟](#چرا-نیاز-میشه-به-تایع-setState-یه-فانکشن-callback-پاس-بدیم) |
|83 | [حالت strict توی ری‌اکت چیکار می‌کنه؟](#حالت-strict-توی-ریاکت-چیکار-میکنه) |
|84 | [Mixin‌های ری‌اکت چی هستن؟](#Mixinهای-ریاکت-چی-هستن) |
|85 | [چرا isMounted آنتی پترن هست و روش بهتر انجامش چیه؟](#چرا-isMounted-آنتی-پترن-هست-و-روش-بهتر-انجامش-چیه) |
Expand Down Expand Up @@ -1575,24 +1575,24 @@

51. ### چطوری prop‌های کامپوننت رو اعتبارسنجی کنیم؟

وقتی برنامه توی حالت *development* یا توسعه هست، ری‌اکت به شکل خودکار تمام propهایی که ما توی کامپوننت استفاده کردیم رو چک می‌کنه تا مطمئن بشه همه‌شون type درستی دارن. اگه هر کدوم از propها *type درستی* نداشته باشن توی کنسول بهمون یه warning نشون میده، البته توی حالت *production* این حالت غیر فعاله.
prop‌های اجباری با پراپرتی isRequired مشخص میشن، همچنین یه‌سری انواع prop پیش‌فرض وجود دارن که پایین میاریمشون :
وقتی برنامه توی حالت *development* یا توسعه هست، ری‌اکت به شکل خودکار تمام propهایی که ما توی کامپوننت استفاده کردیم رو چک می‌کنه تا مطمئن بشه همه‌شون type درستی دارن. اگه هر کدوم از propها *type درستی* نداشته باشن توی کنسول بهمون یه warning نشون میده، البته توی حالت *production* این حالت غیر فعاله.
prop‌های اجباری با پراپرتی isRequired مشخص میشن، همچنین یه‌سری انواع prop پیش‌فرض وجود دارن که پایین میاریمشون :

1. **PropTypes.number**
2. **PropTypes.string**
3. **PropTypes.array**
4. **PropTypes.object**
5. **PropTypes.func**
6. **PropTypes.node**
7. **PropTypes.element**
8. **PropTypes.bool**
9. **PropTypes.symbol**
10. **PropTypes.any**
1. **PropTypes.number**
2. **PropTypes.string**
3. **PropTypes.array**
4. **PropTypes.object**
5. **PropTypes.func**
6. **PropTypes.node**
7. **PropTypes.element**
8. **PropTypes.bool**
9. **PropTypes.symbol**
10. **PropTypes.any**

`PropType`ها رو برای یه کامپوننت تستی به اسم `User` اینطوری میشه تعریف کرد :
`PropType`ها رو برای یه کامپوننت تستی به اسم `User` اینطوری میشه تعریف کرد :


<span align="left" dir="ltr">
<span align="left" dir="ltr">

```jsx harmony
import React from 'react'
Expand All @@ -1618,7 +1618,7 @@
</span>


**نکته:** در ورژن 15.5 ری‌اکت *propType*ها از ‍`React.PropType` به کتابخونه `prop-types` انتقال پیدا کردن.
**نکته:** در ورژن 15.5 ری‌اکت *propType*ها از ‍`React.PropType` به کتابخونه `prop-types` انتقال پیدا کردن.

**[⬆ برگشت به بالا](#جدول-محتوا)**

Expand Down Expand Up @@ -2288,7 +2288,7 @@

**[⬆ برگشت به بالا](#جدول-محتوا)**

82. ### چرت نیاز میشه به تایع setState یه فانکشن callback پاس بدیم؟
82. ### چرا نیاز میشه به تایع setState یه فانکشن callback پاس بدیم؟

دلیلش اینه که `setState()` یه عملیات async یا ناهمزمانه.
state ها در ری‌اکت به دلایل عملکردی تغییر می‌کنن، بنابراین یه state ممکنه بلافاصله بعد از اینکه `‍setState()` صدا زده شد تغییر نکنه.
Expand Down Expand Up @@ -3372,7 +3372,7 @@

122. ### آیا استفاده از async/await توی ری‌اکت ممکنه؟

اگه بخواییم از `async`/`await` توی ری‌اکن استفاده کنیم، لازمه که *Babel* و پلاگین [transform-async-to-generator](https://babeljs.io/docs/en/babel-plugin-transform-async-to-generator) رو استفاده کنیم. توی React Native اینکار با Babel و یه سری transformها انجام میشه.
اگه بخواییم از `async`/`await` توی ری‌اکت استفاده کنیم، لازمه که *Babel* و پلاگین [transform-async-to-generator](https://babeljs.io/docs/en/babel-plugin-transform-async-to-generator) رو استفاده کنیم. توی React Native اینکار با Babel و یه سری transformها انجام میشه.

**[⬆ برگشت به بالا](#جدول-محتوا)**

Expand Down Expand Up @@ -3640,7 +3640,7 @@

1. **استفاده از تابع مرتبه بالاتر(higher-order) `withRouter` :**

متد `withRouter()` آبجکت history o را به عنوان یک prop به کامپوننت اضافه می‌کنه. در این prop دسترسی به متدهای `push()` و `replace()` بسادگی می‌تونه مسیریابی بین کامپوننت رو فراهم کنه و نیاز به context رو رفع کنه.
متد `withRouter()` آبجکت history را به عنوان یک prop به کامپوننت اضافه می‌کنه. در این prop دسترسی به متدهای `push()` و `replace()` بسادگی می‌تونه مسیریابی بین کامپوننت رو فراهم کنه و نیاز به context رو رفع کنه.

<span align="left" dir="ltr">

Expand Down Expand Up @@ -3740,7 +3740,7 @@

134. ### چطوری میشه query پارامترها رو توی ری‌اکت روتر نسخه۴ گرفت؟

ساده‌ترین راه برای دسترسی به paramهای آدرس استفاده از هوک useParams هست.
ساده‌ترین راه برای دسترسی به paramهای آدرس استفاده از هوک useParams هست.

<span align="left" dir="ltr">

Expand Down Expand Up @@ -3783,6 +3783,7 @@

</span>


**[⬆ برگشت به بالا](#جدول-محتوا)**

136. ### چطوری میشه به متد history.push پارامتر اضافه کرد؟
Expand Down
41 changes: 21 additions & 20 deletions README.mdd
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@
|79 | [روش توضیه شده برای نام‌گذاری کامپوننت‌ها چیه؟](#روش-توضیه-شده-برای-نامگذاری-کامپوننتها-چیه) |
|80 | [روش توصیه شده برای ترتیب متدها در کلاس کامپوننت‌ها چیه؟](#روش-توصیه-شده-برای-ترتیب-متدها-در-کلاس-کامپوننتها-چیه) |
|81 | [کامپوننت تعویض کننده یا switching چیه؟](#کامپوننت-تعویض-کننده-یا-switching-چیه) |
|82 | [چرت نیاز میشه به تایع setState یه فانکشن callback پاس بدیم؟](#چرت-نیاز-میشه-به-تایع-setState-یه-فانکشن-callback-پاس-بدیم) |
|82 | [چرا نیاز میشه به تایع setState یه فانکشن callback پاس بدیم؟](#چرا-نیاز-میشه-به-تایع-setState-یه-فانکشن-callback-پاس-بدیم) |
|83 | [حالت strict توی ری‌اکت چیکار می‌کنه؟](#حالت-strict-توی-ریاکت-چیکار-میکنه) |
|84 | [Mixin‌های ری‌اکت چی هستن؟](#Mixinهای-ریاکت-چی-هستن) |
|85 | [چرا isMounted آنتی پترن هست و روش بهتر انجامش چیه؟](#چرا-isMounted-آنتی-پترن-هست-و-روش-بهتر-انجامش-چیه) |
Expand Down Expand Up @@ -1575,24 +1575,24 @@

51. ### چطوری prop‌های کامپوننت رو اعتبارسنجی کنیم؟

وقتی برنامه توی حالت *development* یا توسعه هست، ری‌اکت به شکل خودکار تمام propهایی که ما توی کامپوننت استفاده کردیم رو چک می‌کنه تا مطمئن بشه همه‌شون type درستی دارن. اگه هر کدوم از propها *type درستی* نداشته باشن توی کنسول بهمون یه warning نشون میده، البته توی حالت *production* این حالت غیر فعاله.
prop‌های اجباری با پراپرتی isRequired مشخص میشن، همچنین یه‌سری انواع prop پیش‌فرض وجود دارن که پایین میاریمشون :
وقتی برنامه توی حالت *development* یا توسعه هست، ری‌اکت به شکل خودکار تمام propهایی که ما توی کامپوننت استفاده کردیم رو چک می‌کنه تا مطمئن بشه همه‌شون type درستی دارن. اگه هر کدوم از propها *type درستی* نداشته باشن توی کنسول بهمون یه warning نشون میده، البته توی حالت *production* این حالت غیر فعاله.
prop‌های اجباری با پراپرتی isRequired مشخص میشن، همچنین یه‌سری انواع prop پیش‌فرض وجود دارن که پایین میاریمشون :

1. **PropTypes.number**
2. **PropTypes.string**
3. **PropTypes.array**
4. **PropTypes.object**
5. **PropTypes.func**
6. **PropTypes.node**
7. **PropTypes.element**
8. **PropTypes.bool**
9. **PropTypes.symbol**
10. **PropTypes.any**
1. **PropTypes.number**
2. **PropTypes.string**
3. **PropTypes.array**
4. **PropTypes.object**
5. **PropTypes.func**
6. **PropTypes.node**
7. **PropTypes.element**
8. **PropTypes.bool**
9. **PropTypes.symbol**
10. **PropTypes.any**

‍`PropType`ها رو برای یه کامپوننت تستی به اسم `User` اینطوری میشه تعریف کرد :
‍`PropType`ها رو برای یه کامپوننت تستی به اسم `User` اینطوری میشه تعریف کرد :


<span align="left" dir="ltr">
<span align="left" dir="ltr">

```jsx harmony
import React from 'react'
Expand All @@ -1618,7 +1618,7 @@
</span>


**نکته:** در ورژن 15.5 ری‌اکت *propType*ها از ‍`React.PropType` به کتابخونه `prop-types` انتقال پیدا کردن.
**نکته:** در ورژن 15.5 ری‌اکت *propType*ها از ‍`React.PropType` به کتابخونه `prop-types` انتقال پیدا کردن.

**[⬆ برگشت به بالا](#جدول-محتوا)**

Expand Down Expand Up @@ -2288,7 +2288,7 @@

**[⬆ برگشت به بالا](#جدول-محتوا)**

82. ### چرت نیاز میشه به تایع setState یه فانکشن callback پاس بدیم؟
82. ### چرا نیاز میشه به تایع setState یه فانکشن callback پاس بدیم؟

دلیلش اینه که `setState()` یه عملیات async یا ناهمزمانه.
state ها در ری‌اکت به دلایل عملکردی تغییر می‌کنن، بنابراین یه state ممکنه بلافاصله بعد از اینکه `‍setState()` صدا زده شد تغییر نکنه.
Expand Down Expand Up @@ -3372,7 +3372,7 @@

122. ### آیا استفاده از async/await توی ری‌اکت ممکنه؟

اگه بخواییم از `async`/`await` توی ری‌اکن استفاده کنیم، لازمه که *Babel* و پلاگین [transform-async-to-generator](https://babeljs.io/docs/en/babel-plugin-transform-async-to-generator) رو استفاده کنیم. توی React Native اینکار با Babel و یه سری transformها انجام میشه.
اگه بخواییم از `async`/`await` توی ری‌اکت استفاده کنیم، لازمه که *Babel* و پلاگین [transform-async-to-generator](https://babeljs.io/docs/en/babel-plugin-transform-async-to-generator) رو استفاده کنیم. توی React Native اینکار با Babel و یه سری transformها انجام میشه.

**[⬆ برگشت به بالا](#جدول-محتوا)**

Expand Down Expand Up @@ -3640,7 +3640,7 @@

1. **استفاده از تابع مرتبه بالاتر(higher-order) `withRouter` :**

متد `withRouter()` آبجکت history o را به عنوان یک prop به کامپوننت اضافه می‌کنه. در این prop دسترسی به متدهای `push()` و `replace()` بسادگی می‌تونه مسیریابی بین کامپوننت رو فراهم کنه و نیاز به context رو رفع کنه.
متد `withRouter()` آبجکت history را به عنوان یک prop به کامپوننت اضافه می‌کنه. در این prop دسترسی به متدهای `push()` و `replace()` بسادگی می‌تونه مسیریابی بین کامپوننت رو فراهم کنه و نیاز به context رو رفع کنه.

<span align="left" dir="ltr">

Expand Down Expand Up @@ -3740,7 +3740,7 @@

134. ### چطوری میشه query پارامترها رو توی ری‌اکت روتر نسخه۴ گرفت؟

ساده‌ترین راه برای دسترسی به paramهای آدرس استفاده از هوک useParams هست.
ساده‌ترین راه برای دسترسی به paramهای آدرس استفاده از هوک useParams هست.

<span align="left" dir="ltr">

Expand Down Expand Up @@ -3783,6 +3783,7 @@

</span>


**[⬆ برگشت به بالا](#جدول-محتوا)**

136. ### چطوری میشه به متد history.push پارامتر اضافه کرد؟
Expand Down

0 comments on commit 61c89d1

Please sign in to comment.