createSlice
createReducer и createAction можно заменить функцией createSlice - функцией из Redux Toolkit, позволяющей объединить логику редюсера и actions в одном месте, что делает код более организованным и читабельным.
Сcылка: https://redux-toolkit.js.org/api/createSlice#createreducer
Основные преимущества createSlice:
- Автоматически генерирует action types и action creators, что значительно уменьшает количество кода;
- Логика редюсера и actions объединены в одном объекте slice, что делает код модульным и легче поддерживаемым, т. к. все связанные части находятся в одном месте;
- Делает процесс создания редюсеров и actions более интуитивным и менее подверженным ошибкам;
- В сочетании с createAsyncThunk упрощает управление асинхронными операциями, такими как запросы к API, обеспечивая обработку состояний загрузки, успеха и ошибок.
export const todolistsSlice = createSlice({
name: ‘todolists’,
initialState: [] as Todolist[],
reducers: create => ({}),
})
export const {} = todolistsSlice.actions
export const todolistsReducer = todolistsSlice.reducer