【问题标题】:Mapping fetched data in React在 React 中映射获取的数据
【发布时间】:2021-09-30 20:36:51
【问题描述】:

我在将获取的数据映射到 react 时遇到问题。 我有这些数据,我成功获取了这些数据,但我无法将其映射到数组。

        order_id: 9999,
        order_items: [
          {
            ean: 1234,
            name: 'LIV Aquafilter 2000',
            count: 1
          },
          {
            ean: 12345,
            name: 'Beko EWUE 7612CSXS0',
            count: 1
          }
        ]

有我的代码,数据控制台日志工作正常,但另外两个什么也没记录

const fetchInvoiceData = useCallback(async () => {
    setIsLoading(true);
    setError(null);
    try {
      const response = await fetch("some_link");
      if (!response.ok) {
        throw new Error("error!");
      }

      const data = await response.json();
      console.log(data);
      const transformedData = data.results.map((invoiceData) => {
        return {
          id: invoiceData.order_id,
          name: invoiceData.name,
        };
      });
      setListData(transformedData);
      console.log(listData);
      console.log(transformedData);
    } catch (error) {
      setError(error.message);
    }
    setIsLoading(false);
  }, []);

  useEffect(() => {
    fetchInvoiceData();
  }, [fetchInvoiceData]);

【问题讨论】:

标签: javascript json reactjs api fetch


【解决方案1】:

console.log(listData) 日志的原因是没有设置状态为asynchronous

console.log(transformedData); 不记录任何内容的原因是您需要使用data.order_items.map 而不是data.results.map

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 2021-02-27
    • 1970-01-01
    • 2020-07-03
    相关资源
    最近更新 更多