对于noob问题感到抱歉,但是我试图学习React + Redux和我正在使用的书有一些概述,但没有任何指示将它们捆绑在一起"。
看看:https://stackblitz.com/edit/react-chapt8-redux-store?file=index.js
你会看到我有一个初始的颜色状态,有几个减速器和动作创建者。
我的问题基本上是,我的商店更新后如何更新控件/状态?
看第49行,我从商店设置了初始状态;然后,在第51行到第54行,我订阅商店更改,我调用this.setState
并获取商店的新状态。同样在第71行,我通过将colors
分配给状态来设置subscribe
常量。
这是最佳/正确的方式吗?或者,还有更好的方法?是最好更新状态,反过来,更新颜色(就像我目前正在做的那样)?或者,我应该通过pip
函数以某种方式更新颜色吗?
感谢您的见解/指导。
答案 0 :(得分:2)
所以你的工作方式很有效,但通常你从商店里拿出的东西都没有进入你组件的state
- 商店的目的是避免首先保持这种状态。
因此,下一步是添加react-redux
(https://www.npmjs.com/package/react-redux)作为依赖项,并使用connect
函数将状态拉出存储并通过它将其提供给组件道具:
import { connect } from 'react-redux';
class App extends Component {
... code for <App/> component
}
function mapStateToProps(state) {
... code to pick out only the relevant state from the props
}
connect(mapStateToProps)(App);
我强烈推荐史蒂芬格里德关于udemy的视频,它专门介绍了一些这些内容,而且这里的帖子实在太多了