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包中。