【问题标题】:React - Why Optional chaining is not working for this axios request [duplicate]React - 为什么可选链接不适用于此 axios 请求 [重复]
【发布时间】: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> 几乎总是一个错误,除非 somePropertyNamelength 或整数。

标签: javascript reactjs axios state optional-chaining


【解决方案1】:

因为您选择链接了错误的属性,所以它是delivered,即undefined

它应该是:

deliveredOrders?.delivered?.[0]?.updatedAt

【讨论】:

    猜你喜欢
    • 2019-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-27
    • 1970-01-01
    • 2020-06-13
    • 2020-04-11
    • 2019-04-11
    相关资源
    最近更新 更多