Toolkit提供的新API
Redux Toolkit主要解决的问题是Redux在使用过程中配置复杂、模板代码过多等问题。所以Redux开发团队就问题比较集中的几项,推出了Redux Toolkit。其中主要通过以下几个API来简化Redux的配置和使用。
configureStore()
,用于简化createStore
,可以支持使用简单的配置语法来创建新的Store。createReducer()
,支持采用查找表的方式定义Reducer,而不是采用编写大量switch语句的方式。createAction()
,支持快速构建{ type: 'action_name', payload: object }
类型Action的函数。createSlice()
,支持快速构建一个可以接受Reduce函数的对象(也即是State片段),以及这个对象的默认值、名称等。createAsyncThunk()
,支持构建一个接受Action并返回一个Promise的Thunk,并且这个Thunk会根据Promise的最终值产生新的Action。createEntityAdapter()
,用于支持在Store中生成一组Reducer和Selector。createSelector
工具集,用于从State中选择一部分子State。
除了以上功能以外,Redux Toolkit还包括了一组用于数据获取和数据缓存的的工具集RTK Query,如果要想在项目中使用这套工具集,需要额外单独引入,其并不直接包含在Redux Toolkit包中。