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
Разница между setAge(age => age + 1) и setAge(age + 1)
59
+
60
+
1. React НЕ обновляет состояние сразу
61
+
2. Обновления ставятся в очередь
62
+
3. Батчинг (batch) - несколько setState (обновлений состояния) за один рендер
63
+
64
+
</small>
65
+
66
+
```jsx
67
+
// ❌ ПЛОХО - не работает
68
+
functionCounter() {
69
+
const [age, setAge] =useState(0);
70
+
71
+
constincrement= () => {
72
+
setAge(age +1); // setCount(0 + 1) → setCount(1)
73
+
setAge(age +1); // setCount(0 + 1) → setCount(1)
74
+
// Результат: age увеличится только на 1, а не на 2!
75
+
};
76
+
77
+
return<button onClick={increment}>+2</button>;
78
+
}
79
+
80
+
// ✅ ХОРОШО - работает правильно
81
+
functionCounter() {
82
+
const [age, setAge] =useState(0);
83
+
84
+
constincrement= () => {
85
+
setAge((prev) => prev +1); // prev = 0 → 1
86
+
setAge((prev) => prev +1); // prev = 1 → 2
87
+
// Результат: age = 2
88
+
};
89
+
90
+
return<button onClick={increment}>+2</button>;
91
+
}
92
+
```
93
+
94
+
<!-- v -->
95
+
58
96
```javascript
59
97
import { useState } from"react";
60
98
@@ -165,8 +203,8 @@ export default function Form() {
165
203
166
204
<!-- v -->
167
205
168
-
[useEffect](https://ru.react.dev/reference/react/useEffect) позволяет управлять различными сопутствующими действиями в функциональном компоненте или то, что называется **_"side effects" (побочные эффекты)_**,
169
-
например, извлечение данных, ручное изменение структуры DOM, использование таймеров, логгирование и т.д.
206
+
-[useEffect](https://ru.react.dev/reference/react/useEffect) позволяет управлять различными сопутствующими действиями в функциональном компоненте или то, что называется **_"side effects" (побочные эффекты)_**,
207
+
например, извлечение данных, ручное изменение структуры DOM, использование таймеров, логгирование и т.д.
0 commit comments