redux toolkit 有几个问题想要请教:
1.这里为何用三种方式导出counterSlice呢?有什么必要呢?
export const counterSlice
export const { increment, decrement } = counterSlice.actions
export default counterSlice.reducer
2.第二个问题:
counterSlice.actions 和 counterSlice.reducer 都是指的 { increment, decrement }
吗?
action
一般在页面中使用而reducer
则是在构建store
的时候使用,这样导出的好处就是不用导入一个slice
然后再一层层结构了counterSlice.actions
实际上这里应该称之为action creator
,它是工厂函数,可以接受一些参数然后返回一个action
,然后调用dispatch
传递给reducer
进行处理。返回的action
对应你在slice
的reducers
字段中定义的函数的第二个参数。reducer
是一个纯函数,即确定的输入一定有确定的输出,且不包含副作用的函数,这里指reducers
字段中的函数。