useSelector is a React hook that subscribes to an observable or selector function and causes the component to re-render when the observed values change.
Usage
Signature
Parameters
A function or observable to track. Can be:
- An observable:
state$.count - A function:
() => state$.count.get() * 2 - A complex selector:
() => state$.users.find(u => u.id === userId)
Configuration options for the selector.
Returns
The current value from the selector. The component will re-render whenever this value changes.
Examples
Basic observable
Computed values
With local state
Multiple observables
With suspense
Skip equality check
Behavior
Tracking
useSelector automatically tracks which observables are accessed during the selector function:
Re-render optimization
By default,useSelector only triggers re-renders when the selector’s return value changes (using !== comparison):
skipCheck: true to re-render on every observable change.
Inside observer components
When used inside anobserver component, useSelector is optimized to skip creating a subscription if given a plain observable:
Type Parameters
The return type of the selector function.
Aliases
This hook is also exported as:use$- Shorter aliasuseValue- Descriptive alias
Notes
- The selector function runs on every render but only subscribes to the observables it accesses
- Re-renders only occur when tracked values change and pass the equality check
- Using
observeris often more convenient for components that access many observables - In development mode, provides helpful warnings about infinite render loops
Related
- observer - HOC for automatic observable tracking
- useObserve - Run side effects on changes
- useObservable - Create local observables