【问题标题】:React-native: Picker onValueChange setState lagging, do I need a setTimeout?React-native:Picker onValueChange setState 滞后,我需要 setTimeout 吗?
【发布时间】:2019-07-02 18:49:26
【问题描述】:

在我的 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 在函数运行之前没有被分配。在使用中,使用的数组是显示内容后面的一个选择器部分/动作。

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

我还尝试在美食函数中传递 itemValue this.cuisine(itemValue);

调用:

cuisine = (data) => {函数的东西}

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

 [object Object]

而不是实际值。

我对 ES6 和 React 的使用有点陌生。

【问题讨论】:

    标签: react-native picker setstate


    【解决方案1】:

    使用它对我来说非常有用

     <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);
    }
    

    【讨论】:

    • 这看起来很简单。但是我收到一条错误消息,告诉我“对象作为 React 子项无效……请改用数组”。在 Visual Code 中,错误是:'types' can only be used in a .ts file.ts(8010),
    • 整理出来了。您的解决方案有效,但没有解决我的问题,这很奇怪。因此,在深入挖掘之后,我需要更改 onValueChange 以确保它调用另一个带有更新页面所需的回调的函数。像这样:stackoverflow.com/questions/42920241/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-31
    • 2018-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多