猿问

请问react redux 怎么访问其他model的state?

react redux 怎么访问其他model的state


湖上湖
浏览 1171回答 4
4回答

幕布斯7119047

1、先说redux的作用代理top-level single data flow,从最外层的container下发数据流触发dumb components的更新。2、题主的业务场景是否可以由redux解决答案肯定是可以的,但不一定合理。下发props告知组件B执行更新,用过react的同学都很熟悉这一套,这边不赘述。3、业务场景的特殊性组件交互存在两种情形,一种是纯数据模型层面的组件映射关系,完全可以由redux处理;另一种是eventEmitter层面的交互,比如使用ng2的eventEmitter或者vue的$dispatch场景。对于后者redux其实是提供解决方案的,一种是写个小型中间件,专门用于处理pub/sub,另一种是利用redux的subscribe接口添加观察者函数来触发pub/sub。4、是否真的需要eventEmitter不需要。既然你用的是react + redux,就应该遵循它的设计原则,对组件划分的时候,建立足够好的view model一一映射关系。没有什么是redux解决不了的,如果有,那就重新思考下组件设计是否合理,如果还不行,那就考虑写个中间件。

一只甜甜圈

可能是你的action没有connect到组件上,没有把这个方法传过来。 1.参考我写的一个方案1234@connect(    state => state,    dispatch => bindActionCreators(action, dispatch)) 2.根据redux文档的方案 12345678910// 哪些 action 创建函数是我们想要通过 props 获取的看function mapDispatchToProps(dispatch) {  return {    onIncrement: () => dispatch(increment())  };} export default connect(  mapDispatchToProps)(Counter);
随时随地看视频慕课网APP
我要回答