createEntityAdapterintermediateconst { createEntityAdapter, createSlice } = ReduxToolkit
const adapter = createEntityAdapter()
const slice = createSlice({
name: 'items',
initialState: adapter.getInitialState(),
reducers: { addItem: adapter.addOne },
})createEntityAdapter provides pre-built CRUD reducers and normalizes entities into an ids array and entities map.
createEntityAdapter() manages normalized state with an ids array and an entities map. It provides pre-built CRUD reducers like addOne, removeOne, updateOne, etc.
Challenge: Create a todos slice using the adapter's addOne and removeOne reducers.
// After adding { id: 1, text: 'buy milk' }:
state.ids // β [1]
state.entities[1].text // β 'buy milk'