Javascript 如何在选择器级别和react native的值中存储js对象?
我想在react native picker中存储这个值的js对象Javascript 如何在选择器级别和react native的值中存储js对象?,javascript,android,reactjs,react-native,Javascript,Android,Reactjs,React Native,我想在react native picker中存储这个值的js对象 { 1: "4 feet", 2: "4 feet 1 inches", 3: "4 feet 2 inches", 4: "4 feet 3 inches", 5: "4 feet 4 inches", 6: "4 feet 5 inches", 7: "4 feet 6 inches", 8: "4 feet 7 inches", 9: "4 feet 8 inches", 10: "
{
1: "4 feet",
2: "4 feet 1 inches",
3: "4 feet 2 inches",
4: "4 feet 3 inches",
5: "4 feet 4 inches",
6: "4 feet 5 inches",
7: "4 feet 6 inches",
8: "4 feet 7 inches",
9: "4 feet 8 inches",
10: "4 feet 9 inches",
11: "4 feet 10 inches",
12: "4 feet 11 inches",
13: "5 feet",
14: "5 feet 1 inches",
15: "5 feet 2 inches",
16: "5 feet 3 inches",
17: "5 feet 4 inches",
18: "5 feet 5 inches",
19: "5 feet 6 inches",
20: "5 feet 7 inches",
21: "5 feet 8 inches",
22: "5 feet 9 inches",
23: "5 feet 10 inches",
24: "5 feet 11 inches",
25: "6 feet ",
26: "6 feet 1 inches",
27: "6 feet 2 inches",
28: "6 feet 3 inches",
29: "6 feet 4 inches",
30: "6 feet 5 inches",
31: "6 feet 6 inches",
32: "6 feet 7 inches",
33: "6 feet 8 inches",
34: "6 feet 9 inches",
35: "6 feet 10 inches",
36: "6 feet 11 inches",
37: "7 feet "
}
当我运行应用程序时,我尝试了将该对象转换为数组或简单对象的两种方法,然后应用程序自动关闭,错误显示的是选择器值应为字符串,而不是数组。请介绍如何在picker中动态存储此值。首先需要将对象转换为数组。使用object.entries会将对象转换为一个iterable数组,并逐个发送每个键和值:
<Picker
selectedValue = { this.state.result }
style = {{ height: 26, width: 70, color: "black" }}
onValueChange = {(itemValue, itemIndex) => this.setState({ gen: itemValue })}
>
{ this.state.arr && this.state.arr.map(value => (<Picker.Item label={value} value={value} />)) }
</Picker >
映射组件时,不要忘记将关键道具放在组件上
{this.state.arr && Object.entries(this.state.arr).map(([key, value]) => (<Picker.Item label={value} value={key} key={key} />)) }