JS Built-ins
redux-toolkitcreateEntityAdapterintermediate

Entity Adapter Selectors

πŸ“– Usage Example
const selectors = adapter.getSelectors(state => state.items)
selectors.selectAll(store.getState())     // β†’ [{ id: 1, name: 'Widget' }, ...]
selectors.selectById(store.getState(), 1) // β†’ { id: 1, name: 'Widget' }
selectors.selectTotal(store.getState())   // β†’ 1

getSelectors generates pre-built selectors scoped to the entity slice β€” selectAll, selectById, selectTotal, and more.

Entity Adapter Selectors

adapter.getSelectors(stateSelector) returns a set of selectors: selectAll, selectById, selectTotal, selectIds, and selectEntities.

Challenge: Create a store and use adapter selectors to query items.

selectors.selectAll(store.getState())        // β†’ [...]
selectors.selectById(store.getState(), 1)    // β†’ { id: 1, name: 'Widget' }
selectors.selectTotal(store.getState())      // β†’ 2
πŸ’‘ Hints (3)
  • β€’ `adapter.getSelectors(stateSelector)` scopes all selectors to the given state slice.
  • β€’ `selectAll` returns all entities as an array in `ids` order.
  • β€’ `selectById(state, id)` returns the entity for that id, or `undefined`.