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-custom.md
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -201,7 +201,7 @@ function ChatRecipientPicker() {
201
201
202
202
Попробуйте не добавлять абстракцию слишком рано. Теперь, когда функциональные компоненты обладают большими возможностями, вполне вероятно, средний функциональный компонент станет длиннее в вашей кодовой базе. Это нормально - не думайте, что вы *должны* немедленно разделить его на хуки. Но мы также рекомендуем вам находить ситуации, когда пользовательский хук поможет скрыть сложную логику за простым интерфейсом или распутать большой компонент.
203
203
204
-
Например, у вас есть сложный компонент, который содержит много локальных состояний, которые управляются специальным образом. `useState` не помогает объединить логику обновления, поэтому вы можете написать её как [Redux](https://redux.js.org/)-редюсер:
204
+
Например, у вас есть сложный компонент, который содержит множество внутренних состояний, которые управляются специальным образом. `useState` не помогает объединить логику обновления, поэтому вы можете написать её как [Redux](https://redux.js.org/)-редюсер:
205
205
206
206
```js
207
207
functiontodosReducer(state, action) {
@@ -218,9 +218,9 @@ function todosReducer(state, action) {
218
218
}
219
219
```
220
220
221
-
Редюсеры очень удобно тестировать изолированно и масштабировать для реализации сложной логики обновления. При необходимости вы можете разбить их на более мелкие редюсеры. Однако, вам может нравиться пользоваться преимуществами локального состояния React, или вы не хотите устанавливать ещё одну стороннюю библиотеку.
221
+
Редюсеры очень удобно тестировать изолированно и масштабировать для реализации сложной логики обновления. При необходимости вы можете разбить их на более мелкие редюсеры. Однако, вам может нравиться пользоваться преимуществами внутреннего состояния React, или вы не хотите устанавливать ещё одну стороннюю библиотеку.
222
222
223
-
Что если мы могли бы написать хук `useReducer`, который позволяет нам управлять *локальным* состоянием нашего компонента с помощью редюсера? Упрощённая версия может выглядеть так:
223
+
Что если мы могли бы написать хук `useReducer`, который позволяет нам управлять *внутренним* состоянием нашего компонента с помощью редюсера? Упрощённая версия может выглядеть так:
224
224
225
225
```js
226
226
functionuseReducer(reducer, initialState) {
@@ -249,4 +249,4 @@ function Todos() {
249
249
}
250
250
```
251
251
252
-
Так как необходимость управления локальным состоянием с помощью редюсера в сложном компоненте достаточно распространена, мы встроили хук `useReducer` прямо в React. Вы найдёте его вместе с другими встроенными хуками в [справочнике API хуков](/docs/hooks-reference.html).
252
+
Так как необходимость управления внутренним состоянием с помощью редюсера в сложном компоненте достаточно распространена, мы встроили хук `useReducer` прямо в React. Вы найдёте его вместе с другими встроенными хуками в [справочнике API хуков](/docs/hooks-reference.html).
0 commit comments