React-native:Picker onValueChange setState 滞后,我需要 setTimeout 吗?

React-native: Picker onValueChange setState lagging, do I need a setTimeout?

在我的 React-native 项目中,我有一个选择器,它在幕后选择要在函数中使用的数组。

 <Picker
      style={styles.onePicker} itemStyle={styles.onePickerItem}
      selectedValue={this.state.food}
      onValueChange={(itemValue) => { this.setState({food: itemValue}); this.cuisine();}}
    >
      <Picker.Item label="Italian" value="Italian" />
      <Picker.Item label="Chinese" value="Chinese" />
      <Picker.Item label="Cajun" value="Cajun" />
      <Picker.Item label="KFC" value="KFC" />
    </Picker>

一切正常,但 setState 在函数 运行 之前未分配。在使用中,使用的数组是一个选择器 section/action 落后于显示的内容。

Pickers 需要 setTimeout 或反应中使用的任何东西是否正常?

我也试过在 cuisine 函数中传递 itemValue this.cuisine(itemValue);

调用:

美食 = (数据) => { 函数内容 }

但在控制台或显示已传递数据的警报中我只得到

 [object Object]

而不是实际值。

我对ES6和React的使用有点菜鸟

使用这个对我来说效果很好

 <View>
        <Picker        
          selectedValue={this.state.food}
          onValueChange={(itemValue) => {  this.cuisine(itemValue);}}>
          <Picker.Item label="Italian" value="Italian" />
          <Picker.Item label="Chinese" value="Chinese" />
          <Picker.Item label="Cajun" value="Cajun" />
          <Picker.Item label="KFC" value="KFC" />
  </Picker>

      <Text>{this.state.food}</Text>

  </View>

现在在美食功能中

cuisine = (itemValue: any) => { 
   this.setState({food: itemValue});   
   console.log(this.state.food);
}