Что такое useReducer
Python
Middle
Без компании
Что такое useReducer
Ответы
`useReducer` — это хук в React, предназначенный для управления сложным состоянием компонента. Он принимает редюсер (функцию) и начальное состояние, возвращая текущее состояние и метод `dispatch` для обновления состояния.
**Когда использовать:**
- Когда состояние имеет сложную логику обновления.
- Когда следующее состояние зависит от предыдущего.
- Для оптимизации производительности (передача `dispatch` вместо колбэков).
**Пример:**
```
const initialState = { count: 0 };
function reducer(state, action) {
switch (action.type) {
case 'increment':
return { count: state.count + 1 };
case 'decrement':
return { count: state.count - 1 };
default:
throw new Error();
}
}
function Counter() {
const [state, dispatch] = useReducer(reducer, initialState);
return (
<>
Count: {state.count}
<button onClick={() => dispatch({ type: 'increment' })}>+</button>
<button onClick={() => dispatch({ type: 'decrement' })}>-</button>
</>
);
}
```