Встречается на собеседованиях • сегодня
Как работает UseSelector
`useSelector` — это хук из библиотеки `react-redux`, который позволяет компонентам получать данные из хранилища Redux. Он принимает функцию селектора, которая извлекает нужную часть состояния, и возвращает её значение.
При каждом изменении хранилища `useSelector` сравнивает предыдущее и новое значение селектора (по строгому равенству `===`). Если они отличаются, компонент перерендеривается.
**Пример:**
```jsx
import { useSelector } from 'react-redux';
const CounterComponent = () => {
const count = useSelector(state => state.counter.value);
return
{count}
;
};
```
**Нюансы:**
1. **Мемоизация селекторов:** Для сложных вычислений используйте `reselect` или `createSelector`, чтобы избежать лишних вычислений.
2. **Ссылочная стабильность:** Если селектор возвращает новый объект/массив, компонент будет перерендериваться даже если данные не изменились. Решение — мемоизация или сравнение через `shallowEqual`.
3. **Подписка:** `useSelector` автоматически подписывает компонент на обновления хранилища и отписывается при размонтировании.
**Оптимизация:**
```jsx
const user = useSelector(state => state.user, shallowEqual);
```
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы