Javascript 这是一个不工作的状态

Javascript 这是一个不工作的状态,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我正在尝试设置状态,然后在设置后用当前状态调用另一个函数 我有这种代码 this.setState({ candidates : diCandi },()=>{ this.createDataSource(this.state) console.log("The state is=>",this.state); }); 我想用刚刚更新的状态调用this.createDataSource(this.state)。 它不起作用,我想知

我正在尝试设置状态,然后在设置后用当前状态调用另一个函数

我有这种代码

this.setState({
      candidates : diCandi
    },()=>{
      this.createDataSource(this.state)
      console.log("The state is=>",this.state);
    });
我想用刚刚更新的状态调用
this.createDataSource(this.state)
。 它不起作用,我想知道为什么。我做错什么了吗

事实上,当我注销该州时。我从未在日志中看到代码。

类应用程序扩展了React.Component{
建造师(道具){
超级(道具)
this.state={candidates:“no candidates”}
}
shouldComponentUpdate(){
返回false;
}
按钮点击(e){
this.setState({candidates:“diCandi”},()=>console.log(“更新”))
}
render(){
返回(
确定候选人
{this.state.candidates}
)
}
}
const MOUNT_NODE=document.getElementById('容器')
ReactDOM.render(,MOUNT_节点)

类应用程序扩展了React.Component{
建造师(道具){
超级(道具)
this.state={candidates:“no candidates”}
}
shouldComponentUpdate(){
返回false;
}
按钮点击(e){
this.setState({candidates:“diCandi”},()=>console.log(“更新”))
}
render(){
返回(
确定候选人
{this.state.candidates}
)
}
}
const MOUNT_NODE=document.getElementById('容器')
ReactDOM.render(,MOUNT_节点)

您可以将所有状态发送到
createDataSource
您可以执行的操作

this.setState({
  candidates : diCandi
},()=>{
  this.createDataSource(this.state.candidates) 
  console.log("The state is=>",this.state.candidates);
});
另外,建议从
createDataSource
方法访问状态,不要将其作为参数发送

this.setState({
  candidates : diCandi
},()=>{
  this.createDataSource() 
  console.log("The state is=>",this.state.candidates);
});
然后在
createDataSource

createDataSource() {
  this.state.candidates
  .... rest of code
}

您可以将所有状态发送到
createDataSource
您可以执行的操作

this.setState({
  candidates : diCandi
},()=>{
  this.createDataSource(this.state.candidates) 
  console.log("The state is=>",this.state.candidates);
});
另外,建议从
createDataSource
方法访问状态,不要将其作为参数发送

this.setState({
  candidates : diCandi
},()=>{
  this.createDataSource() 
  console.log("The state is=>",this.state.candidates);
});
然后在
createDataSource

createDataSource() {
  this.state.candidates
  .... rest of code
}

不工作是不够的信息。请为你的问题提供更多的背景。如果您遇到任何错误或异常行为,请将其添加到您的问题中。这样应该可以工作,回调的要点是在状态更新之前不会触发它(因为这可能是异步的)。请使用堆栈代码段(
[]
工具栏按钮)使用可运行的示例更新您的问题。堆栈代码段支持React,包括JSX。澄清什么是
不起作用
。您可以尝试从
createDataSource
中登录,查看状态是否为新状态(应该是新状态)。所以你需要找出什么是不起作用的。不起作用的信息是不够的。请为你的问题提供更多的背景。如果您遇到任何错误或异常行为,请将其添加到您的问题中。这样应该可以工作,回调的要点是在状态更新之前不会触发它(因为这可能是异步的)。请使用堆栈代码段(
[]
工具栏按钮)使用可运行的示例更新您的问题。堆栈代码段支持React,包括JSX。澄清什么是
不起作用
。您可以尝试从
createDataSource
中登录,查看状态是否为新状态(应该是新状态)。所以你需要找出什么是不起作用的。