Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何使用redux获取以前的状态?_Reactjs_Redux - Fatal编程技术网

Reactjs 如何使用redux获取以前的状态?

Reactjs 如何使用redux获取以前的状态?,reactjs,redux,Reactjs,Redux,我在React中有一个应用程序,我在2个还原器中使用Redux分割了我的状态。在我的一个组件中,当服务器装载时,我从服务器获取一些数据,并且我还有一个删除按钮 当组件挂载时,我用来获取数据的操作,我想在componentdiddupdate中使用它,因此一旦我从列表中删除和项,我将更新列表。我从componentdiddupdate记录了以前的状态,我看到它仍在使用组件的状态 我是否可以从Redux访问以前的状态,以便与componentDidUpdate中的当前状态进行比较,从而不进入无限循环

我在React中有一个应用程序,我在2个还原器中使用Redux分割了我的状态。在我的一个组件中,当服务器装载时,我从服务器获取一些数据,并且我还有一个删除按钮

当组件挂载时,我用来获取数据的操作,我想在componentdiddupdate中使用它,因此一旦我从列表中删除和项,我将更新列表。我从componentdiddupdate记录了以前的状态,我看到它仍在使用组件的状态


我是否可以从Redux访问以前的状态,以便与componentDidUpdate中的当前状态进行比较,从而不进入无限循环?

您应该能够使用
componentDidUpdate
来实现这一点

Redux将状态片段作为道具传递给组件(即您在
mapStateToProps
中定义的任何内容)

您可以像这样在did update中使用redux状态值的转换

componentDidUpdate(props) {
  if (this.props.someImportantItem && !props.someImportantItem || this.props.someImportantItem !== props.someImportantItem) {
    // code here to make a request
  }
}

componentdiddupdate
允许您访问以前的状态,
componentdiddupdate(prevProps,prevState)
当前的道具将是
this.props
。这就是你想要的吗?组件的道具来自redux状态,假设你连接了它。您可以发布一些代码或JSFIDLE来复制您的问题吗。如果没有PrevState,则无法提供帮助。PrevState是本地组件状态。prevProps将是此组件接收的任何道具。是的!你可以用这里的过渡来改变。确保这是一个过渡。比如
if(!prevProps.somethingportant&&this.props.somethingportant)
Nice!很高兴一切都解决了!:)我把我们谈论的内容写下来作为答案,如果你想把它标记为答案,那么我们就可以结束这个开放性问题了!:)+从我这里得到1