前言:
一个项目里,或多或少总会出现一个页面需要用到另一个页面的某些状态值;虽然redux已经接管了状态管理这个活;但redux在常规应用里是无法做到实时状态更新的下发的;也就是说,一个状态值在a页面dispatch了,b页面是无法及时接收到这个变化的。
在react里,页面间传参一共有三种方式:
1,常规,路由传参,但由于对react-router 4.x运用的不是很熟练,所以在实现需求时,没有做相关尝试
2,利用connect
3, 利用context,但似乎由于react-router 4.x的较大性质的改版,以至于这个上下文在用的时候似乎有点问题
利用connect实现页面间传参:
先上代码:
在入口文件里将根组件用provider组件包裹起来 在根组件里利用connect构建数据共享通道如图,这样就利用connect完成了react各个组件之间数据共享.
需要注意的是,connect接收两个参数:
mapStateToProps:定义哪些store属性会被映射到根组件上的属性(把store传入react组件)
mapDispatchToProps:定义哪些行为action可以作为根组件属性(把数据从react组件传入store
网友评论