redux 之action

redux 之action

相信接触过redux 的人都会觉得在redux 三剑客中(reducer,action,store ),action 是最简单的,所以作为第一次写博客的我很爽快的决定从他入手

格式

action 要求自身是一个平面对象(plain object),所谓的平面对象,个人的理解就是他的原型必须是Object,prototype,不信你试试 把action 作为一个类,然后你手动new 一下,然后你可能就看到控制台的红色。

参数

action 默认是一个对象,对象里面有一个type 属性,属性值任意,而且根据Flux标准,改属性必须,不然报错,所以,由于历史的原因大家还是按照下面说的格式来
···

const action = {
type:"action",//根据业务需求定义,
payload:{}//负载,一般是action 需要携带一些数据可以通过他传递

}


## 个人最佳实践
>   1:如果 action type 过多,建议把type 抽离出一个配置文件,然后利用Sysmol 给type赋值,保证type 的唯一性
	2:payload 一般情况下只作为一个参数传递,所以在数据多的情况下自行转化为对象或者数组
	3:action 一般会写成一个函数帮助生成,这样的话一般调用就不会有问题,编辑器会提醒
	4:每次分发action 都需要store.dispatch(action),个人觉得很麻烦,然后官方也是这么想的,于是官方手脚比我快,先出了个bindActionCreators 这个函数供我们想分发action的时候直接创建就可以分发,该函数提供两个参数,第一个是一个对象,对象里面的属性全是action创建函数,第二个是dispatch 函数,即store,dispatch。说道这里,相信大家知道内部是怎么实现的了。
## 结束
第一篇博客,不要脸的地方有很多,毕竟大多数程序员写的东西都需要你品,你细品,他们让你品的是技术,而我可能就是你看到某个部分,心里缺默默地 ****,然后如果你还想继续看我不要脸的博客的话请耐心等待下一篇,react 之 reducer。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值