首页 > 解决方案 > Axios 没有重新调整正确的数据

问题描述

我有一个 React 应用程序,我正在从一个端点获取一些数据,我期望两个不同的数组作为响应。

当我进入终端时,我看到它说Array(2),但是当我打开数据选项卡时,它只显示一个数组。 在此处输入图像描述

任何人都知道这是一个错误还是我的应用程序有问题。

我尝试了两个单独的客户端(邮递员和常规浏览器),根本没有问题,所以我有点困惑,为什么会这样?

我已经考虑到,请求是async.

这是我的完整代码。

    const [{data, loading, error}, refetch] = useAxios(fetchInvoiceData);


useEffect(() =>{
        if(!loading){
        const ids = data.encodedImage.map(entry => entry._id)
        console.log(ids)
        console.log(fetchMultipleLabelData(ids))
        setLoadingPages(true)
        axios.get(fetchMultipleLabelData(ids)).then(res =>{
            console.log(res)
            setLoadingPages(false)
            const categories = generateCategories(res.data);
            const initialState = generateInitialState(res.data);
            setCategories(categories)
            console.log(categories)
            setGlobalState(initialState)
        }).catch(err =>{
            console.error(err)
        })
        } 
    }, [loading])

我尝试通过使用loading状态“等待”来执行 http 请求来使其成为有条件的。

此外,由于它给出了响应,我假设它会返回完整的数据???

编辑:

我没有尝试Stringify过 json,并使用以下结果注销常规输出

console.log(JSON.stringify(res.data))
        console.log(res.data)

在此处输入图像描述

标签: javascriptreactjshttpaxios

解决方案


推荐阅读