React Components api:
SETTER:。setState()
加特:.state
Redux api:
SETTER:在减速器中
GETTER:.getState()
为什么Redux中的状态不能通过.state
访问?
答案 0 :(得分:2)
Redux将状态作为私有变量而不是暴露属性处理。
因此,做 * gender age population
H 0-14 20
H 15-19 15
H 20-29 25
M 0-14 10
M 15-19 15
M 20-29 25
store.state.counter = 43
之类的事情是不可能用脚射击自己的。改变状态的唯一方法是推荐的方法 - 通过调度操作。
<强> *更新强>
好吧,我猜你也可以用store.state = newState
射击自己。从the source看,从开发的角度看,getter语法似乎更方便,因为现在不需要保持任何公共store.getState().counter = 43
属性为最新。您可以使用store.state
函数执行任何操作,无论上下文如何,它都可以正常工作。
答案 1 :(得分:1)
无论API提供什么语法,您都应该很少使用.getState()
来访问Redux商店的整个状态(如果有的话)。您应该使用the official React bindings for Redux为组件提供状态。
Here's the official documentation for using React with Redux.