redux react-redux 中间件相关简介

redux-thunk:

1thunk1

https://www.cnblogs.com/wzndkj/p/10562563.html

是对dispatch的封装,异步逻辑放在action里。dispatch可接收对象,也可接收函数。接收函数时,先执行函数,再派发给store

2thunk2

https://www.jianshu.com/p/a27ab19d3657

将thunk传给原生api  applyMiddleware方法,再将applyMiddleware传给createStore,完成了store.dispatch的调用,是对dispatch方法的增强。其实applyMiddleware就是Redux的一个原生方法,将所有中间件组成一个数组,依次执行。

store=createStore(reducers,applyMiddleware);

Redux的核心概念其实很简单:将需要修改的state都存入到store里,发起一个action用来描述发生了什么,用reducers描述action如何改变state tree 。创建store的时候需要传入reducer,真正能改变store中数据的是store.dispatch API。

redux-thunk最重要的思想,就是可以接受一个返回函数的action creator。如果这个action creator 返回的是一个函数,就执行它,如果不是,就按照原来的next(action)执行。
正因为这个action creator可以返回一个函数,那么就可以在这个函数中执行一些异步的操作。

3中间件详解

https://www.cnblogs.com/vvjiang/p/9505646.html

Redux是一个可预测的状态容器,跟React这种构建UI的库是两个相互独立的东西。

Redux要应用到React中,很明显action,reducer,dispatch这几个阶段并不需要改变,唯一需要考虑的是redux中的状态需要如何传递给react组件。

很简单,只需要每次要更新数据时运用store.getState获取到当前状态,并将这些数据传递给组件即可。

将store作为一个值传递给根组件,然后store就会一级一级往下传,使得每个组件都能获取到store的值。

但是这样太繁琐了,难道每个组件需要写一个传递store的逻辑?为了解决这个问题,那么得用到React的context玩法,通过在根组件上将store放在根组件的context中,然后在子组件中通过context获取到store。

react-redux

通过嵌套组件Provider将store放到context中,通过connect这个高阶组件,来隐藏取store的操作,这样我们就不需要每次去操作context写一大堆代码那么麻烦了。

4

https://segmentfault.com/a/1190000015042646

react-redux

connect([mapStateToProps], [mapDispatchToProps], [mergeProps], [options])

mapStateToProps    这个函数允许我们将store中的数据作为props绑定到组件上。

mapDispatchToProps,它的功能是,将action作为props绑定到子组件上。

Redux 本身提供了bindActionCreators函数,来将action包装成直接可被调用的函数。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值