Есть store с двумя слайсами: counter и status. Status должен быть success, если counter равен 100, иначе false. Как организовать обновление status при изменении counter?

Если status полностью определяется counter, лучше вычислять его селектором, а не хранить вторую копию зависимого состояния.

Короткий ответ

Что ответить на собеседовании

Если status полностью определяется counter, лучше вычислять его селектором, а не хранить вторую копию зависимого состояния.

Подробный разбор

Ответ с пояснениями

Если status полностью определяется counter, лучше вычислять его селектором, а не хранить вторую копию зависимого состояния.

При форме state.counter.value селектор может выглядеть так: const selectStatus = state => state.counter.value === 100 ? 'success' : false. Он всегда согласован со счётчиком. Если status нужен как самостоятельный этап процесса, обновляйте связанные поля общей action либо отдельной оркестрацией, а не чтением другого slice внутри reducer.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее