设置状态后如何调用函数

时间:2019-01-17 06:02:33

标签: react-native react-native-android

我正在将状态设置为某些变量,但是发生的情况是,当我第一次调用onSub()时,什么也没有发生,而当我第二次调用它时,第一次调用中的值就会反映出来,依此类推。我该怎么办?

onSub(){
   this.setState({price:[...this.state.price,this.state.tprice],
           Quantity:[...this.state.Quantity,this.state.tQuantity],
          ItemName:[...this.state.ItemName,this.state.tItemName]
        })
this.afterCall();}

afterCall(){
       //i is Declared Globally
for(;i<this.state.price.length; i++){

   price.push(<View key={i}><Text style={{paddingLeft:5}}> 
   {this.state.price[i]}</Text></View>) 

 }

1 个答案:

答案 0 :(得分:1)

设置状态需要花费一些时间,this.setState将进行回叫,一旦设置了状态,该回叫将被运行。您可以像这样

使用它
this.setState({ //set your item to state }, () => this.afterCall());

您可以在这里https://medium.learnreact.com/setstate-takes-a-callback-1f71ad5d2296

了解更多信息