What are selectors in Redux?

Answer

Selectors are functions that extract and compute derived data from the Redux store state. Simple selector: const selectUser = (state) => state.auth.user;. Use in component: const user = useSelector(selectUser). Why use selectors: encapsulate state structure (if state shape changes, update only the selector), enable memoization for performance, make component code cleaner. Reselect library: creates memoized selectors: const selectActiveUsers = createSelector([selectAllUsers], (users) => users.filter(u => u.active)). The memoized selector only recomputes when selectAllUsers changes — if the same input is passed again, it returns the cached result. RTK includes Reselect: import { createSelector } from "@reduxjs/toolkit". RTK selectFromResult: RTK Query provides optimized per-component selectors. inputSelectorsCount: Reselect accepts multiple input selectors, and the result function receives all their results. Selectors are the "lenses" into your Redux state — always access state through selectors rather than directly.