【发布时间】:2021-09-03 19:50:00
【问题描述】:
const [country, setCountry] = useState([]);
useEffect(() => {
DataService.get(API.API_GET_COUNTRY).then((response) => {
console.log('Countries', country);
// let data = response.data.items;
// data.map(names=>{console.log("name",names['name'])
// let piker=[]
// piker.push({label:names['name'],value:names['id']})
// console.log("Picker",piker);
// })
setCountry([response.data.items]);
});
}, []);
function getPickerItems(array, labelKey, valueKey) {
const pickerItems = [];
array &&
array.map((item) =>
pickerItems.push({ label: item[labelKey], value: item[valueKey] })
);
return pickerItems;
}
<RNPickerSelect items={getPickerItems(country, 'name', 'id')}/>
// 我试图在选择器中显示国家名称列表。我从 api 得到响应并在国家/地区设置。既然我得到了数据数组。但我无法在选择器中看到数据。请帮我解决这个问题。
【问题讨论】:
-
为什么在
setCountry调用中将response.data.items包装在另一个数组中?否则,它应该可以工作。 -
对不起我的错误。我跑来跑去解决我的问题。非常感谢您的帮助。
标签: javascript react-native api axios react-native-picker-select