【发布时间】:2021-05-29 00:45:14
【问题描述】:
我不明白如何在 React 中使用 JSON 数据。我的代码:
function App() {
const [image, setImage] = useState();
const getImage = () => {
axios.get('http://localhost:5000/api')
.then(function (res) {
setImage(res.data);
})
}
useEffect(()=>{
getImage()
}, [])`
回复:
{
"title": "this is a title",
"description": "",
"tags": "",
"isSorted": false,
"passed": false
}
错误信息:
错误:对象作为 React 子对象无效(找到:对象带有键 {title、description、tags、isSorted、passed})。如果您打算渲染一组子项,请改用数组。
【问题讨论】:
-
将 console.log(res) 添加到您的 .then 回调函数中并在此处发布。很可能您正在尝试将对象而不是字符串分配给图像。
-
您的渲染逻辑可能有问题...您是否尝试直接渲染 JSON 数据
-
我知道我正在传递一个对象。我应该如何处理这个 json 对象?
-
我使用 setImage() 将它传递给状态。是否不允许将对象传递给状态?
-
没有 JSON。从
axios调用传递给then函数的res是一个对象。 JSON 是一种文本格式。这就是为什么你会收到关于对象不是有效的 React 子项的错误,而不是关于文本不是有效的 React 子项的错误。