这两天没事就对着Redux
官网看文档,发现手动创建store
,reducer
这种写法确实可以更好的了解API
,但是已经过时了,现在Redux官方推荐安装@reduxjs/toolkit
来简化开发,现在就来用一下这个看看。
创建slicer
一个slicer
,可以理解为对state
中的一部分数据进行操作的reducer
,action
,actionCreator
的总和。
下边这段来自Redux中文文档,写的非常好,我就直接复制过来了:
Redux Toolkit 有一个名为 createSlice 的函数,它负责生成 action 类型字符串、action creator 函数和 action 对象的工作。您所要做的就是为这个切片定义一个名称,编写一个包含 reducer 函数的对象,它会自动生成相应的 action 代码。name 选项的字符串用作每个 action 类型的第一部分,每个 reducer 函数的键名用作第二部分。因此,“counter” 名称 + “increment” reducer 函数生成了一个 action 类型 {type: "counter/increment"}
。(毕竟,如果计算机可以为我们做,为什么要手写!)
写一个试试
用Webstorm和create-react-app新创建了一个项目,然后按照官网的要求来安装@reduxjs/toolkit
而不是redux
:
npm install @reduxjs/toolkit
安装完成之后,Redux也已经被安装了。
一般老套路是写一个自增自减,我也不免俗,清空App.js,写两个按钮和一个玩意一放。