значения состояния изначально не определены даже после установки

Следующая функция - это событие onChange для раскрывающегося списка с выбором реакции. Значение this.state.value (выделено жирным шрифтом) не определено только в первый раз при изменении раскрывающегося списка. Может ли кто-нибудь внести свой вклад в то же самое. Однако состояние устанавливается в следующих условиях.

handleSelectChange(val,event) {
  var label;
if(val.map==undefined) {
  label = val["label"];
  this.setState({value:val}) ;
}
else{
  label = val["label"];
  this.setState({value:val}) ;
}
    this.setState({dropDownSelected:true},function(){
this.props.dropDownSelected(**this.state.value**);
    })
}

person Rakesh Nallam    schedule 09.11.2017    source источник


Ответы (1)


Звучит болезненно, но вы должны знать, что setState работает асинхронно. Это означает, что после вызова setState переменная this.state не изменяется сразу. Итак, если вы хотите выполнить действие сразу после установки состояния для переменной состояния, а затем вернуть результат. Обратный звонок будет полезен.

Найдите образец setState с функцией обратного вызова

this.setState({value:val}, function() {
    // Do something here 
  });

Ваше здоровье..!

person Ganesh    schedule 09.11.2017