我正在开发一个React-Redux应用程序。 我有一个要求,我需要根据前一个状态的值更改状态。
我尝试使用this.props将之前的状态传递给我的动作但是我在动作中收到的不是预期的值。 因此,使用this.props将前一个状态传递给action并在reducer中进行比较决策还是应该注意其他一些比较逻辑呢?
提前致谢!
答案 0 :(得分:0)
如果我正确理解了这个问题,你应该使用生命周期方法,特别是ComponentWillReceiveProps
。在此处阅读有关它和其他人的更多信息:http://busypeoples.github.io/post/react-component-lifecycle/
你可以使用:
ComponentWillReceiveProps(nextProps) {
if(this.props.yourProp === desiredValue) doSomething;
}
此外,您可以比较this.props.yourPropName
(这是道具的当前状态)和nextProps.yourPropName
即将到来的道具状态。这里的Redux是无关紧要的,因为这是根据来自Redux或标准父组件的传入道具,天气变化的常规方式。