Расскажите о селекторах Redux: назначение, best practices именования и хранения, правила написания и что нельзя делать внутри селекторов.

Селектор читает или вычисляет данные из Redux state, скрывая его структуру от компонентов. Он должен быть чистым и не менять состояние.

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

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

Селектор читает или вычисляет данные из Redux state, скрывая его структуру от компонентов. Он должен быть чистым и не менять состояние.

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

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

Селектор читает или вычисляет данные из Redux state, скрывая его структуру от компонентов. Он должен быть чистым и не менять состояние.

Обычно используют имена selectUser, selectVisibleItems и хранят селекторы рядом с соответствующим slice. Не делайте внутри запросы, dispatch и мутации. Простое чтение поля не требует мемоизации, а дорогое вычисление с созданием массива может её требовать. Стабильность результата важна для подписок; selector не должен каждый раз беспричинно создавать новую обёртку.

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

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

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

Подробнее