Redux工具包用于操作的单独文件?

Redux工具包用于操作的单独文件?,redux,redux-thunk,redux-toolkit,Redux,Redux Thunk,Redux Toolkit,我最近了解了redux工具包,并对如何使用它处理操作和减速器分离提出了一些问题。在redux toolkit之前,我有单独的文件夹和文件用于reducer和action,但在redux toolkit教程中的所有示例中,它们都将action/thunk与reducer/slice保存在同一个文件中。我需要使用axios和CreateAynchThunk(我假设)来访问我的API。还是最好在单独的文件夹/文件中分离操作和还原程序?只使用CreateAynchThunk和createReducer而

我最近了解了redux工具包,并对如何使用它处理操作和减速器分离提出了一些问题。在redux toolkit之前,我有单独的文件夹和文件用于reducer和action,但在redux toolkit教程中的所有示例中,它们都将action/thunk与reducer/slice保存在同一个文件中。我需要使用axios和CreateAynchThunk(我假设)来访问我的API。还是最好在单独的文件夹/文件中分离操作和还原程序?只使用CreateAynchThunk和createReducer而不是createSlice会更好吗?在createSlice中,我仍然不完全理解ExtraReducer是用来做什么的,以及它和单纯的Reducer之间的区别。如果有更熟悉这个库的人能帮上忙,我将不胜感激。

我最近也开始使用Redux工具包,我认为它非常棒,通过处理大量样板文件,并遵循以规范化方式组织状态的最佳实践,真的加快了react/Redux开发。使用
npx create react app my app--template redux

要回答您的问题,您不需要将减速器和动作分开,它们现在可以放在同一个文件中

我一直在使用createSlice来创建我的reducer,createAsynchThunk来调用API,createEntityAdapter来创建所有选择器(取决于我开始使用的规范化状态)

对我帮助最大的是仔细地一步一步地学习中级教程。在这里,一个典型的react redux应用程序被转换为redux工具包样式,您将看到原始样式缩减器、操作等,以及它们如何转换为使用新的API/样式。在“清理”部分的末尾:

我们现在有一堆不再存在的action和reducer文件 正在使用中,因此我们应该删除这些来清理项目。 [.........] 我们还可以通过将所有组件文件移动到匹配的功能文件夹中,尝试从“类型文件夹”结构完全切换到“功能文件夹”结构


我最近也开始使用Redux工具包,我认为它非常棒,通过处理大量样板文件,并遵循以规范化方式组织状态的最佳实践,确实加快了react/Redux的开发。使用
npx create react app my app--template redux

要回答您的问题,您不需要将减速器和动作分开,它们现在可以放在同一个文件中

我一直在使用createSlice来创建我的reducer,createAsynchThunk来调用API,createEntityAdapter来创建所有选择器(取决于我开始使用的规范化状态)

对我帮助最大的是仔细地一步一步地学习中级教程。在这里,一个典型的react redux应用程序被转换为redux工具包样式,您将看到原始样式缩减器、操作等,以及它们如何转换为使用新的API/样式。在“清理”部分的末尾:

我们现在有一堆不再存在的action和reducer文件 正在使用中,因此我们应该删除这些来清理项目。 [.........] 我们还可以通过将所有组件文件移动到匹配的功能文件夹中,尝试从“类型文件夹”结构完全切换到“功能文件夹”结构


是的,自从我发布这篇文章以来,我遇到了redux模板,也开始使用typescript(我一直很喜欢),所以高级教程(以及CRA的redux typescript模板)对此有很大帮助。我认为我现在最大的问题是决定如何分离常见操作和api调用(将在多个功能中使用),但仍然保持基于功能的文件结构。我一直在尝试使用一个api文件夹,就像他们在高级教程中一样,但我还不确定我对它的感觉如何。是的,自从我发布之后,我遇到了redux模板,并开始使用typescript(我一直很喜欢),所以高级教程(以及CRA的redux typescript模板)对此有很大帮助。我认为我现在最大的问题是决定如何分离常见操作和api调用(将在多个功能中使用),但仍然保持基于功能的文件结构。我一直在尝试使用一个api文件夹,就像他们在高级教程中使用的一样,但我还不确定我对它的感觉如何。