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
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ next: hooks-rules.html
6
6
prev: hooks-intro.html
7
7
---
8
8
9
-
*Хуки* -- новая возможность в React 16.8, которая позволяет использовать состояние и другие возможности React без написания классов.
9
+
*Хуки* -- новиника в React 16.8, которая позволяет использовать состояние и другие возможности React без написания классов.
10
10
11
11
*Хук эффекта* даёт вам возможность выполнять побочные эффекты в функциональном компоненте:
12
12
@@ -49,7 +49,7 @@ function Example() {
49
49
50
50
### Пример с использованием классов {#example-using-classes}
51
51
52
-
В классовых React-компонентах метод `render` сам по себе не должен вызывать никаких побочных эффектов. Он не подходит для этих целей, так как, как правило, мы хотим выполнить наши эффекты *после* того, как React обновил DOM.
52
+
В классовых React-компонентах метод `render` сам по себе не должен вызывать никаких побочных эффектов. Он не подходит для этих целей, так как, в основном, мы хотим выполнить наши эффекты *после* того, как React обновил DOM.
53
53
54
54
Вот почему в классах React мы размещаем побочные эффекты внутрь `componentDidMount` и `componentDidUpdate`. Возвращаясь к нашему примеру, здесь представлен счётчик, реализованый с помощью классового React-компонента. Он обновляет заголовок документа сразу же после того, как React вносит изменения в DOM:
55
55
@@ -223,7 +223,7 @@ function FriendStatus(props) {
223
223
}
224
224
```
225
225
226
-
**Зачем мы вернули функцию из нашего эффекта?** Это необязательный механизм сброса эффектов. Каждый эффект может возвратить функцию, которая сбросит его. Это даёт нам возможность объединить вместе логику оформления и отмены подписки. Они, все-таки, часть одного и того же эффекта!
226
+
**Зачем мы вернули функцию из нашего эффекта?** Это необязательный механизм сброса эффектов. Каждый эффект может возвратить функцию, которая сбросит его. Это даёт нам возможность объединить вместе логику оформления и отмены подписки. Они, всё-таки, часть одного и того же эффекта!
227
227
228
228
**Когда именно React будет сбрасывать эффект?** React будет сбрасывать эффект перед тем, как компонент размонтируется. Однако, как мы уже знаем, эффекты выполняются при каждом рендере, а не один лишь раз. Это как раз и есть причиной, почему React *также* сбрасывает эффект из предыдущего рендера, перед тем, как запустить следующий. Мы рассмотрим [почему это позволяет избежать багов](#explanation-why-effects-run-on-each-update) и [как отказаться от этой логики, если это вызывает проблемы с производительностью](#tip-optimizing-performance-by-skipping-effects) далее.
229
229
@@ -335,7 +335,7 @@ function FriendStatusWithCounter(props) {
335
335
336
336
Если вы привыкли пользоваться классами, вы должно быть думаете, почему этап сброса эффекта происходит после каждого последующего рендера, а не один лишь раз во время размонтировки. Давайте расмотрим на практике, почему именно этот способ даёт нам возможность избежать некоторых багов в наших компонентах.
337
337
338
-
[Ранее на этой странице](#example-using-classes-1), мы рассматривали пример с компонентом `FriendStatus`, который отображает в сети наш друг или нет. Наш класс берет`friend.id` из `this.props`, подписывается на статус друга после того, как компонент смонтировался, и отписывается от него во время размонтировки.
338
+
[Ранее на этой странице](#example-using-classes-1), мы рассматривали пример с компонентом `FriendStatus`, который отображает в сети наш друг или нет. Наш класс берёт`friend.id` из `this.props`, подписывается на статус друга после того, как компонент смонтировался, и отписывается от него во время размонтировки.
0 commit comments