【发布时间】:2022-10-22 23:59:13
【问题描述】:
我收到以下代码的此错误:
未捕获的类型错误:无法读取未定义的属性(读取“0”)
我尝试使用可选链接,但它不起作用......
const [deliveredOrders, setDeliveredOrders] = useState([]);
useEffect(() => {
const getDeliveredOrders = async () => {
const res = await axios.get(
`/api/orders`);
setDeliveredOrders(res.data);
};
getDeliveredOrders();
}, []);
console.log(deliveredOrders?.delivered[0]?.updatedAt);
【问题讨论】:
-
deliveredOrders是一个数组。数组是非空的,因此当您执行deliveredOrders?.时不会进入链。但是,它是一个数组,而不是一个普通的对象——所以它没有delivered属性。someArray.<somePropertyName>几乎总是一个错误,除非somePropertyName是length或整数。
标签: javascript reactjs axios state optional-chaining