Objects 作为 React child 无效,请改用数组
Objects are not valid as a React child, use an array instead
我正在尝试使用 axios 从 json 请求中呈现名字和姓氏。
我收到标题中显示的以下错误。我已经包含了一个 snack example here 完全重现错误并添加了下面的代码。
谢谢
const plsWork = () => {
// Make a request for a user with a given ID
return axios.get('https://randomuser.me/api')
.then(({data}) => {
console.log(data);
return data
})
.catch(err => {
console.error(err);
});
}
const userName = (userInfo) => {
const {name: {first, last}} = userInfo;
return {first}, {last};
}
export default function App() {
const [data, setData] = React.useState(' ')
const [userInfos, setUserInfos] = React.useState([]);
React.useEffect(() => {
plsWork().then(randomData => {
setData(JSON.stringify(randomData, null, 4) || 'No user data found.')
setUserInfos(randomData.results)
})
}, []);
return (
<View>
<ScrollView>
{
userInfos.map((userInfo, idx) => (
<Text key={idx}>
{userName(userInfo)}
</Text>
))
}
<Text style={{color: 'black', fontSize: 15}}>
{data}
</Text>
</ScrollView>
</View>
);
}
您必须在 userName
函数中 return 一个 React Component
。
第 21 行:
从 return {first}, {last}
更改为 return <>{first}, {last}</>
。
应该有用!
这是编辑的代码:snack expo
我正在尝试使用 axios 从 json 请求中呈现名字和姓氏。
我收到标题中显示的以下错误。我已经包含了一个 snack example here 完全重现错误并添加了下面的代码。
谢谢
const plsWork = () => {
// Make a request for a user with a given ID
return axios.get('https://randomuser.me/api')
.then(({data}) => {
console.log(data);
return data
})
.catch(err => {
console.error(err);
});
}
const userName = (userInfo) => {
const {name: {first, last}} = userInfo;
return {first}, {last};
}
export default function App() {
const [data, setData] = React.useState(' ')
const [userInfos, setUserInfos] = React.useState([]);
React.useEffect(() => {
plsWork().then(randomData => {
setData(JSON.stringify(randomData, null, 4) || 'No user data found.')
setUserInfos(randomData.results)
})
}, []);
return (
<View>
<ScrollView>
{
userInfos.map((userInfo, idx) => (
<Text key={idx}>
{userName(userInfo)}
</Text>
))
}
<Text style={{color: 'black', fontSize: 15}}>
{data}
</Text>
</ScrollView>
</View>
);
}
您必须在 userName
函数中 return 一个 React Component
。
第 21 行:
从 return {first}, {last}
更改为 return <>{first}, {last}</>
。
应该有用! 这是编辑的代码:snack expo