redux toolkit这里为何用三种方式导出counterSlice呢?

redux toolkit 有几个问题想要请教:

image.png

1.这里为何用三种方式导出counterSlice呢?有什么必要呢?

export const counterSlice
export const { increment, decrement } = counterSlice.actions
export default counterSlice.reducer 

2.第二个问题:
counterSlice.actions 和 counterSlice.reducer 都是指的 { increment, decrement } 吗?

阅读 1.5k
1 个回答
  1. 方便。action 一般在页面中使用而 reducer 则是在构建 store 的时候使用,这样导出的好处就是不用导入一个 slice 然后再一层层结构了
  2. 不是。能问出这个问题说明你对 redux 理解还不够。counterSlice.actions 实际上这里应该称之为 action creator,它是工厂函数,可以接受一些参数然后返回一个 action,然后调用 dispatch 传递给 reducer 进行处理。返回的 action 对应你在 slicereducers 字段中定义的函数的第二个参数。reducer 是一个纯函数,即确定的输入一定有确定的输出,且不包含副作用的函数,这里指 reducers 字段中的函数。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题