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: src/content/learn/state-as-a-snapshot.md
+12-12Lines changed: 12 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,16 +4,16 @@ title: Состояние как снимок
4
4
5
5
<Intro>
6
6
7
-
На первый взгляд, переменные состояния выглядят как обычные JavaScriptпеременные, с которыми вы можете проводить операции чтения и записи. Однако, состояние больше похоже на снимок, чем на классическую переменную. Установка нового значения переменной состояния не изменяет напрямую текущее состояние, но при этом инициирует повторный рендер.
7
+
На первый взгляд, переменные состояния выглядят как обычные JavaScript-переменные, с которыми вы можете проводить операции чтения и записи. Однако, состояние больше похоже на снимок, чем на классическую переменную. Установка нового значения переменной состояния не изменяет напрямую текущее состояние, но при этом инициирует повторный рендер.
8
8
9
9
</Intro>
10
10
11
11
<YouWillLearn>
12
12
13
-
* Как установка состояния запускает повторный рендер;
14
-
* Каким образом происходит обновление состояния;
15
-
* Почему не происходит моментального обновления состояния после того, как вы задали новое значение переменной;
16
-
* Как обработчики событий получают доступ к "снимку" состояния.
13
+
* Как установка состояния запускает повторный рендер
14
+
* Каким образом происходит обновление состояния
15
+
* Почему не происходит моментального обновления состояния после того, как вы задали новое значение переменной
16
+
* Как обработчики событий получают доступ к "снимку" состояния
Обратите внимание, `number` увеличивается только один раз за клик.
130
+
Обратите внимание, `number` увеличивается только один раз за клик!
131
131
132
132
**Установка состояния изменяет его только для *следующего* рендера**. Во время первого рендера значение `number` равно `0`. Вот почему в обработчике `onClick`*этого текущего рендера* значение `number` по-прежнему равно `0`, даже после вызова `setNumber(number + 1)`:
0 commit comments