Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.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
Javascript 如何在setState回调中获取更新状态?_Javascript_Reactjs_React Native - Fatal编程技术网

Javascript 如何在setState回调中获取更新状态?

Javascript 如何在setState回调中获取更新状态?,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我有一个代码场景,需要在setState回调中获取更新的状态。如下图所示: this.setState({name : "xyz"}, () => { //I want the updated state here where I need to get the this.state.name should be "xyz" }) 使用componentDidUpdate()获取更新的状态和道具值 componentDidUpdate(prevProps, prevState

我有一个代码场景,需要在setState回调中获取更新的状态。如下图所示:

this.setState({name : "xyz"}, () => {
  //I want the updated state here where I need to get the this.state.name should be "xyz"
})
使用componentDidUpdate()获取更新的状态和道具值

    componentDidUpdate(prevProps, prevState) {
      console.log(this.state, prevState);
    }
使用componentDidUpdate()获取更新的状态和道具值

    componentDidUpdate(prevProps, prevState) {
      console.log(this.state, prevState);
    }

设置状态后获取更新状态的步骤与上述步骤相同

this.setState({name : "xyz"}, () => {
  console.log(this.state.name)
});

我问了这个问题,因为我的函数中有一些问题,无法获取更新的状态。

设置状态后获取更新的状态与问题中描述的相同

this.setState({name : "xyz"}, () => {
  console.log(this.state.name)
});

我问了这个问题,因为我的函数中有一些问题,无法获取更新的状态。

是的,这就是回调的用途。您在访问那里的
this.state.name
时遇到问题吗?那么问题出在哪里?您没有在那里获得更新状态吗?如果您在回调中使用
this.state
,它应该是更新状态:您可以在回调中访问更新状态,也可以在componentDidUpdate中访问更新状态lifecycle@Agney它起作用了,我有一些东西改变了这个的参考。是的,这就是回调的用途。您在访问那里的
this.state.name
时遇到问题吗?那么问题出在哪里?您没有在那里获得更新状态吗?如果您在回调中使用
this.state
,它应该是更新状态:您可以在回调中访问更新状态,也可以在componentDidUpdate中访问更新状态lifecycle@Agney它起作用了,我有一些东西改变了this.stateHi@abhijit的引用问题是如何在回调中获取更新状态。@ShashankMalviya正确,通常您应该在回调方法中获取更新状态。但是您在前面的评论中同意了
我有一些东西改变了this.state–
的引用,并且从您给定的代码片段中还不清楚这个问题。因此,为了解决您的问题,我建议使用componentDidUpdate()。Hi@abhijit问题是如何在回调中获取更新状态。@ShashankMalviya正确,通常您应该在回调方法中获取更新状态。但是您在前面的评论中同意了
我有一些东西改变了this.state–
的引用,并且从您给定的代码片段中还不清楚这个问题。因此,为了解决您的问题,我建议使用componentDidUpdate()。