Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在选择器级别和react native的值中存储js对象?_Javascript_Android_Reactjs_React Native - Fatal编程技术网

Javascript 如何在选择器级别和react native的值中存储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: "

我想在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: "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} />)) }