Zarządzanie stanem · Senior · Pytanie 67 z 75
Kiedy pomaga useSelector(selector, shallowEqual)?
const { name, email } = useSelector((s) => ({ name: s.user.name, email: s.user.email }), shallowEqual);- ✓Poprawna odpowiedź: Gdy selektor za każdym razem zwraca nowy obiekt/tablicę, ale jego pola często są równe
- 2Zawsze - trzeba go używać dla każdego selektora
- 3Gdy selektor zwraca prymityw
Wyjaśnienie
Bez niego nowy obiekt nie przechodzi === i renderuje komponent przy każdej akcji. Alternatywy: wybierać prymitywy osobno lub użyć memoizowanego selektora.