Skip to content

Commit 7fe5834

Browse files
committed
Eyo refactoring
1 parent c92ae1c commit 7fe5834

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

src/content/reference/react/useReducer.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ function handleClick() {
119119
}
120120
```
121121

122-
React передаст текущее состояние и действие в <CodeStep step={4}>редьюсер</CodeStep>. Редьюсер вычислит и вернет следующее состояние. React сохранит это состояние, отрисует компонент и обновит пользовательский интерфейс.
122+
React передаст текущее состояние и действие в <CodeStep step={4}>редьюсер</CodeStep>. Редьюсер вычислит и вернёт следующее состояние. React сохранит это состояние, отрисует компонент и обновит пользовательский интерфейс.
123123

124124
<Sandpack>
125125

@@ -753,13 +753,13 @@ function TodoList({ username }) {
753753

754754
Обратите внимание, что вы передаёте `createInitialState`, которая сама является *функцией*, а не `createInitialState()`, что является результатом её вызова. Таким образом, начальное состояние не будет повторно создано после инициализации.
755755

756-
В приведенном выше примере `createInitialState` принимает аргумент `username`. Если вашему инициализатору не нужна информация для вычисления начального состояния, вы можете передать `null` в качестве второго аргумента `useReducer`.
756+
В приведённом выше примере `createInitialState` принимает аргумент `username`. Если вашему инициализатору не нужна информация для вычисления начального состояния, вы можете передать `null` в качестве второго аргумента `useReducer`.
757757

758758
<Recipes titleText="Разница между передачей инициализатора и начального состояния напрямую" titleId="examples-initializer">
759759

760760
#### Передача функции инициализатора {/*passing-the-initializer-function*/}
761761

762-
В этом примере передается функция инициализатора, поэтому функция `createInitialState` выполняется только во время инициализации. Она не выполняется при повторном рендеринге компонента, например, когда вы вводите текст в поле ввода.
762+
В этом примере передаётся функция инициализатора, поэтому функция `createInitialState` выполняется только во время инициализации. Она не выполняется при повторном рендеринге компонента, например, когда вы вводите текст в поле ввода.
763763

764764
<Sandpack>
765765

@@ -947,15 +947,15 @@ function handleClick() {
947947
console.log(state.age); // 42
948948
949949
dispatch({ type: 'incremented_age' }); // Запрос повторного рендеринга с 43
950-
console.log(state.age); // Все еще 42!
950+
console.log(state.age); // Все ещё 42!
951951
952952
setTimeout(() => {
953953
console.log(state.age); // Так же 42!
954954
}, 5000);
955955
}
956956
```
957957

958-
Это происходит, потому что [состояние ведет себя как снимок.](/learn/state-as-a-snapshot) Обновление состояния, запрашивает другой рендер с новым значением состояния, но не влияет на JavaScript-переменную `state` в уже запущенном обработчике событий.
958+
Это происходит, потому что [состояние ведёт себя как снимок.](/learn/state-as-a-snapshot) Обновление состояния, запрашивает другой рендер с новым значением состояния, но не влияет на JavaScript-переменную `state` в уже запущенном обработчике событий.
959959

960960
Если вам нужно получить значение следующего состояния, вы можете вычислить его вручную, вызвав редюсер самостоятельно:
961961

@@ -1018,7 +1018,7 @@ function reducer(state, action) {
10181018

10191019
---
10201020

1021-
### Часть состояния моего редьюсера становится неопределенной после диспетчеризации {/*a-part-of-my-reducer-state-becomes-undefined-after-dispatching*/}
1021+
### Часть состояния моего редьюсера становится неопределённой после диспетчеризации {/*a-part-of-my-reducer-state-becomes-undefined-after-dispatching*/}
10221022

10231023
Убедитесь, что каждая ветвь `case` **копирует все существующие поля**, когда возвращает новое состояние:
10241024

@@ -1038,7 +1038,7 @@ function reducer(state, action) {
10381038

10391039
---
10401040

1041-
### Все состояние моего редьюсера становится неопределенным после диспетчеризации {/*my-entire-reducer-state-becomes-undefined-after-dispatching*/}
1041+
### Все состояние моего редьюсера становится неопределённым после диспетчеризации {/*my-entire-reducer-state-becomes-undefined-after-dispatching*/}
10421042

10431043
Если ваше состояние неожиданно становится `undefined`, скорее всего, вы забыли `возвратить` состояние в одном из случаев, или ваш тип действия не соответствует ни одному из утверждений `case`. Чтобы выяснить причину, выбросьте ошибку вне `case`:
10441044

@@ -1068,10 +1068,10 @@ function reducer(state, action) {
10681068
// 🚩 Неправильно: вызывает обработчик во время рендеринга
10691069
return <button onClick={handleClick()}>Click me</button>
10701070
1071-
// ✅ Правильно: передает обработчик события
1071+
// ✅ Правильно: передаёт обработчик события
10721072
return <button onClick={handleClick}>Click me</button>
10731073
1074-
// ✅ Правильно: передается через встроенную функцию
1074+
// ✅ Правильно: передаётся через встроенную функцию
10751075
return <button onClick={(e) => handleClick(e)}>Click me</button>
10761076
```
10771077

@@ -1119,6 +1119,6 @@ function reducer(state, action) {
11191119
}
11201120
```
11211121

1122-
Теперь, когда функция редьюсера является чистой, ее повторный вызов не изменит поведение. Вот почему двойной вызов в React помогает найти ошибки. **Только функции компонента, инициализатора и редьюсера должны быть чистыми.** Обработчики событий не должны быть чистыми, поэтому React никогда не будет вызывать обработчики событий дважды.
1122+
Теперь, когда функция редьюсера является чистой, её повторный вызов не изменит поведение. Вот почему двойной вызов в React помогает найти ошибки. **Только функции компонента, инициализатора и редьюсера должны быть чистыми.** Обработчики событий не должны быть чистыми, поэтому React никогда не будет вызывать обработчики событий дважды.
11231123

11241124
Прочитайте про [сохранение чистоты компонентов,](/learn/keeping-components-pure) чтобы узнать больше.

0 commit comments

Comments
 (0)