Redux toolkit отдельные файлы для действий? - PullRequest
0 голосов
/ 30 мая 2020

Я недавно узнал о наборе инструментов redux и у меня есть несколько вопросов о том, как с его помощью обрабатывать действие и разделение редуктора. До набора инструментов redux у меня были отдельные папки и файлы для редукторов и действий, но во всех примерах в руководстве по набору инструментов redux они сохраняют свои действия / преобразователи в том же файле, что и их редуктор / срез. Мне нужно будет использовать ax ios и createAsyncThunk (я полагаю) для доступа к моему API. Все же лучше всего разделить действия и редукторы в отдельные папки / файлы? Было бы лучше использовать createAsyncThunk и createReducer, а не createSlice? Что касается createSlice, я до сих пор не совсем понимаю, для чего нужны extraReducers и в чем разница между ними и просто reducer. Если кто-то более знакомый с этой библиотекой может помочь, я был бы признателен.

1 Ответ

1 голос
/ 07 июня 2020

Я также недавно начал играть с инструментарием Redux, и я думаю, что это абсолютно фантастический c, действительно ускоряет разработку реакции / редукции, заботясь о МНОГО шаблонного и следуя лучшим практикам для организации вашего состояния нормализованным способом . И вы можете легко его запустить и запустить с помощью npx create-react-app my-app --template redux

Чтобы ответить на ваш вопрос, вам не нужно разделять редуктор и действия, теперь они могут поместиться в одном файле.

Я использую createSlice для создания редукторов, createAsyncThunk для вызова API и createEntityAdapter для создания всех селекторов (зависит от наличия нормализованного состояния, которое я начал использовать normalizr для)

То, что мне больше всего помогло, - это внимательно следовать шаг за шагом промежуточному руководству Промежуточному руководству . Здесь типичное приложение response-redux преобразовано в стиль Redux Toolkit, вы увидите исходный редуктор стиля, действия и т. Д. c и то, как они преобразуются для использования новых API / стиля. В конце в разделе очистки раздел очистки :

Теперь у нас есть несколько файлов действий и редукторов, которые больше не используются, поэтому мы должны удалить их, чтобы очистить вверх по проекту. [.........] Мы также можем попробовать полностью переключиться со структуры «папка по типу» на структуру «папка функций», переместив все файлы компонентов в соответствующие папки функций.

...