Встречается на собеседованиях • сегодня

В чем разница между useState и useReducer

useState и useReducer оба используются для управления состоянием в React, но у них есть ключевые различия:

  1. Простота vs. Сложность
    • useState идеален для простого состояния (примитивы, небольшие объекты).
    • useReducer лучше подходит для сложного состояния (например, вложенные объекты, множественные действия).
  1. Логика обновления

    • В useState логика обновления пишется прямо в компоненте.
    • В useReducer логика выносится в редьюсер, что упрощает тестирование и переиспользование.
  2. Синтаксис

    jsx
    // useState
    const [count, setCount] = useState(0);
    setCount(prev => prev + 1);
    
    // useReducer
    const [state, dispatch] = useReducer(reducer, { count: 0 });
    dispatch({ type: 'increment' });

Когда выбрать useReducer?

  • Если следующее состояние зависит от предыдущего.
  • Если есть много действий, изменяющих состояние.
  • Для оптимизации производительности (редьюсеры могут избежать лишних ререндеров).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы