Как вызвать функцию после установки состояния - PullRequest
0 голосов
/ 17 января 2019

Я устанавливаю состояние для некоторых переменных, но происходит, когда я вызываю 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 голосов
/ 17 января 2019

Поскольку для установки состояния требуется время, this.setState принимает обратный вызов, который будет запущен после установки состояния.Вы можете использовать его следующим образом

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

Подробнее об этом можно прочитать здесь https://medium.learnreact.com/setstate-takes-a-callback-1f71ad5d2296

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...