我在我的 react 应用程序中收到此错误:
错误:对象作为 React 子项无效。如果您打算渲染一组子项,请改用数组。
在我的 react 组件中,我调用了一个 API,并得到了一个 Json 的响应,如下所示:
{
title: "myTitle",
description: "My Description",
...
state: {
id: 1,
stateTitle: "active"
},
}
我可以使用所有的探针,但不能使用子对象的属性。
const myComponent = () => {
...useEffect...API call...
return (
<div>
<h1>{data.title}</h1> <<--- This works fine...
<span>{data.state.stateTitle}</span> <<--- here i am getting the error
</div>
);
}
export default myComponent;
我尝试使用 JSON.stringify() 方法显示 values,这也很好。
<span>{JSON.stringify(data.state)}</span> // result: {"id":i,"stateTitle":"active"}
或使用 console.log(data.state.stateTitle); 打印按预期工作..
当我尝试从子元素打印 value 时,为什么会出现此错误。
回答1
我相信你已经用默认的 value 初始化了 data
,这可能在渲染部分失败了。组件在调用 API 之前使用默认的 data
呈现除法。收到 API 响应后,组件将使用获取的响应重新呈现。