在我的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或在react中使用的任何东西是正常的吗?
我也尝试在Cuisine函数中传递itemValue this.cuisine(itemValue);
调用:
美食=(数据)=> {函数的东西}
,但是在控制台或警报中显示通过的数据,我只能得到
[object Object]
而不是实际值。
在使用ES6和React时我有点绿色。
答案 0 :(得分: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);
}