You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/docs/hooks-effect.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -226,7 +226,7 @@ function FriendStatus(props) {
226
226
227
227
**Навіщо ми повернули функцію з нашого ефекту?** Це необов'язковий механізм скидання ефектів. Кожен ефект може повернути функцію, яка скине його. Це дає нам можливість об'єднати разом логіку оформлення та скасування підписки. Вони, все-таки, частина одного й того ж ефекту!
228
228
229
-
**Коли саме React буде скидати ефект?** React буде скидати ефект перед тим, як компонент розмонтується. . Однак, як ми вже знаємо, ефекти виконуються не один раз, а при кожному рендері. Ось чому React *також* скидає ефект з попереднього рендеру, перед тим, як запустити наступний. Ми розглянемо [чому це дозволяє уникнути багів](#explanation-why-effects-run-on-each-update) і [як відмовитися від цієї логіки, якщо це викликає проблеми з продуктивністю](#tip-optimizing-performance-by-skipping-effects) далі.
229
+
**Коли саме React буде скидати ефект?** React буде скидати ефект перед тим, як компонент розмонтується. Однак, як ми вже знаємо, ефекти виконуються не один раз, а при кожному рендері. Ось чому React *також* скидає ефект з попереднього рендеру, перед тим, як запустити наступний. Ми розглянемо [чому це дозволяє уникнути багів](#explanation-why-effects-run-on-each-update) і [як відмовитися від цієї логіки, якщо це викликає проблеми з продуктивністю](#tip-optimizing-performance-by-skipping-effects) далі.
230
230
231
231
>Примітка
232
232
>
@@ -271,7 +271,7 @@ function FriendStatus(props) {
271
271
272
272
### Порада: використовуйте різні хуки для різних задач {#tip-use-multiple-effects-to-separate-concerns}
273
273
274
-
Одна з ключових проблем, яку ми описали у[мотивації](/docs/hooks-intro.html#complex-components-become-hard-to-understand), наводить аргументи про те, що на відміну від хуків, класові методи життєвого циклу часто містять логіку, яка ніяк між собою не пов'язана, в той час як пов'язана логіка, розбивається на декілька методів. Далі ми наведемо приклад компонента, який об'єднує в собі логіку лічильника та індикатора статусу нашого друга з попередніх прикладів:
274
+
Одна з ключових проблем, яку ми описали в[мотивації](/docs/hooks-intro.html#complex-components-become-hard-to-understand), наводить аргументи про те, що на відміну від хуків, класові методи життєвого циклу часто містять логіку, яка ніяк між собою не пов'язана, в той час як пов'язана логіка, розбивається на декілька методів. Далі ми наведемо приклад компонента, який об'єднує в собі логіку лічильника та індикатора статусу нашого друга з попередніх прикладів:
@@ -391,7 +391,7 @@ function FriendStatusWithCounter(props) {
391
391
}
392
392
```
393
393
394
-
Невикористання `componentDidUpdate` належним чином — це один з найпоширеніших джерел багів в React-додатках.
394
+
Невикористання `componentDidUpdate` належним чином — це одне з найпоширеніших джерел багів в React-додатках.
395
395
396
396
Тепер давайте розглянемо версію цього ж самого компонента, але вже написаного з використанням хуків:
397
397
@@ -407,7 +407,7 @@ function FriendStatus(props) {
407
407
});
408
408
```
409
409
410
-
Цього бага в даному компоненті немає. (Але ми і не змінили там нічого)
410
+
Такого бага в цьому компоненті немає. (Але ми і не змінили там нічого)
411
411
412
412
Тут немає ніякого особливого коду для вирішення проблем з оновленнями, так як `useEffect` вирішує їх *за замовчуванням*. Він скидає попередні ефекти перш ніж виконати нові. Щоб показати це на практиці, давайте розглянемо послідовність підписок і відписок, які цей компонент може виконати протягом деякого часу.
0 commit comments