Reactjs 错误:item.label.substr不是使用React本机下拉选择器从数组访问值时的函数
我使用react native下拉选择器来显示对象数组中的数据列表,如下所示Reactjs 错误:item.label.substr不是使用React本机下拉选择器从数组访问值时的函数,reactjs,react-native,react-native-android,react-native-ios,Reactjs,React Native,React Native Android,React Native Ios,我使用react native下拉选择器来显示对象数组中的数据列表,如下所示 "children":[ { "name":"Amit", "id":"08941174-9a39-477f-b900-f3affbb43758", }, { "name":"Pranu&
"children":[
{
"name":"Amit",
"id":"08941174-9a39-477f-b900-f3affbb43758",
},
{
"name":"Pranu",
"id":"c86161ed-690a-4de1-8999-c4a832d786be",
},
{
"name":"Testa",
"id":"6642bc82-84f9-4298-8000-37a06df298ac",
}
],
我已将该组件编写如下:
{userObject &&
userObject != '' &&
userObject != null &&
userObject != undefined &&
userObject.length > 1 && (
<DropDownPicker
items={[
{
label: userObject.map((name) => {
return name.name;
}),
value: userObject.map((id) => {
return id.id;
}),
},
]}
/>
)}
{userObject&&
用户对象!=''&&
用户对象!=null&&
userObject!=未定义&&
userObject.length>1&&(
{
返回name.name;
}),
值:userObject.map((id)=>{
返回id.id;
}),
},
]}
/>
)}
但当我尝试执行上述命令时,我收到的错误是item.label.substr不起作用。然而,当我安慰我得到了我想要的东西时,谁能告诉我哪里出了问题?我应该怎么做才能在下拉选择器中获取数据
任何线索都将不胜感激。更新答案
var userObject = [....];
const updatedUserObject = userObject.map(({name: label, id: value})=>({value, label}));
<DropDownPicker
items={updatedUserObject}
.....
/>
var userObject=[…];
const updatedUserObject=userObject.map({name:label,id:value})=>({value,label}));
项目道具需要具有标签和值属性的数组。这是正确的映射
<DropDownPicker
items={
userObject.map((item) => {
return
{
label: item.name,
value: item.id
})
}
/>
{
返回
{
标签:item.name,
值:item.id
})
}
/>
DropDownPicker react是本机组件吗?当我返回name.name时,它就是这个包。映射时,我已经返回字符串了,那么你建议我怎么做?我已经更新了答案,请检查,但现在,在任何单击时,下拉列表都没有响应