【发布时间】:2022-06-11 05:20:04
【问题描述】:
我正在尝试使用一组对象设置状态,但出现上述错误,我不知道如何解决。
我的代码:
const [itemsInCart, setItemsInCart] = useState([]);
useEffect(() => {
const fetchData = async () => {
await fetch("https://fakestoreapi.com/products?limit=16")
.then((res) => res.json())
.then((data) => {
const initialItemCount = data.map((item) => {
return {
name: item.title,
qty: 0,
};
});
setItemsInCart(initialItemCount);
});
};
fetchData();
}, []);
我尝试console.log(Array.isArray(initialItemCount)) 来检查它是否是一个数组并且它返回true。那么为什么说使用数组呢?谢谢
【问题讨论】:
-
如何呈现这些数据?该错误表明您正在尝试在 return 语句中呈现对象
-
您很可能试图直接渲染处于状态的
itemsInCart,而不是真正将其映射到jsx元素。附带说明一下,选择使用fetch(...).then语法或async...await语法。混合它们会破坏async...await的目的。
标签: javascript reactjs