redux使用react还在测试阶段的context脱离传统事件流,只为了能跨组建获取数据,看react-redux的过程里放一首洋葱更贴切,实在搞不懂,这一坨屎一样的一层又一层的嵌套只为能得到props,累不累,如果redux初始使用事件驱动的方式还可圈可点,那官网去推荐的react-redux就是个狗皮膏药,左一层右一层,弄个高阶函数作为返回实际组建的方式真叫蹩脚。 难道每一个组件都要如此嵌套,如果这样的话实在没有继续的必要了,直接使用redux事件驱动就好。 对于react的使用上我一直饱受诟病,说不符合标准云云,但是如果标准比较啰嗦又何必去苟同,所谓合作的人读不懂不是作为代码就应该“脏”下去的借口,是没解释清楚。 就比如说,因为react每次setStage就会刷新视图,而官方指导思想是把所有视图相关数据放到stage上,但是作为多表单的就不一定适用,把部分数据在本地建立私有从而有意识的主动刷新视图就是一个非常不错的解决办法,我想很多人跟我想法差不太多,何必循规蹈矩,符合当前需求的编码方式才是最好的,诚如setStage是异步的会造成取数时机过早,那么直接使用async await就好,解决比苟合更重要。
- 导入react-redux ,store就是redux所需具体使用参考redux手册
import { Provider } from 'react-redux'复制代码
- 洋葱皮,用来使用connect 高阶函数返回实际显示组件
import { connect } from 'react-redux'import 你的组建 from '你的组建地址'//react-reudx返回stage方法,套路const mapStateToProps = (state) => { return { stage }};//react-redux发布事件的dispatch方法,套路const mapDispatchToProps = (dispatch, ownProps) => {};//返回connect洋葱皮export default connect(mapStateToProps, mapDispatchToProps)(你的组建)复制代码
- 在-2-中即自己的组件使用
const { redux中你自己数据} = this.props;复制代码