深入浅出学习 Redux(二)

前面已将将redux的简单使用过程敲了一遍,我们可以发现如果有很多组件都需要用到redux里的状态的话,那么如果按这样简单的使用,一个步骤一个步骤来的话,就会写很多重复的代码,没法复用,那么接下来就是封装一个工具函数,来让我们的代码更简洁优雅。

首先就是创建一个connect.js的文件。
导出一个connect函数,这个函数接收调用者传入的两个参数并且返回一个高阶函数,并且这个函数返回一个高阶组件,可以让调用者传入任何组件。
再通过构造器设置一个storeState,将传进来的state的值赋值给它,然后要记得在dispatch前使用store里的subscribe方法来订阅一下state里的数据,让界面重新渲染一下数据。
后面呢就是对传入的组件进行操作了,将props,state跟dispatch都传给这个组件。
在这里插入图片描述

之后就是在需要用到的组件中定义mapStateToProps跟mapDispatchToProps这两个函数了,mapStateToProps里返回的是一个对象,里面就有我们需要的数据,mapDispatchToProps里返回的也是一个对象,并且定义了需要调用的方法,这个方法实际上就是将action进行dispatch的方法。

最后就是调用connect函数,传入定义好的两个函数,并且传入需要用到的组件,并将其导出即可。这样就可以少写很多代码了。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值