State Management · Senior · Question 67 of 75
When does useSelector(selector, shallowEqual) help?
const { name, email } = useSelector((s) => ({ name: s.user.name, email: s.user.email }), shallowEqual);- ✓Correct answer: When the selector returns a new object/array each time but its fields are often equal
- 2Always - it should be used for every selector
- 3When the selector returns a primitive
Explanation
Without it, the new object fails === and re-renders on every action. Alternatives: select primitives separately or use a memoized selector.