React useEffect 使用 axios 获取数据后返回空数组

威廉曼当

我试图从我创建的 api 中获取我的数据,但它总是返回一个空数组。

这是我的代码

const [orders, setOrders] = useState([]);

  const getOrders = async () => {
    try {
      const access_token = localStorage.getItem("access_token");
      let result = await axios({
        method: "GET",
        url: "http://localhost:3000/orders/open",
        headers: {
          access_token,
        },
      });
      setOrders(result.data);

      console.log(result.data);
      console.log(orders);
    } catch (err) {
      console.log(err);
    }
  };

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

这是我的浏览器的控制台结果 在此处输入图片说明

如您所见,result.data 成功返回了其中的 2 个对象,但是在我使用 setOrders(result.data) 在订单状态上添加它之后,订单仍然是空的。

我也在 Postman 上测试了 API,完全没有问题。 在此处输入图片说明

我一直在用 axios 这种方式获取数据,这是我第一次遇到这个问题。

瑞安乐

这是因为 Reactjs 的批处理状态更新机制

您的状态更新是异步的,因此在函数/事件完成之前不会更新。

console.log(orders)在您的return()功能之前检查

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

React useEffect无限循环获取数据axios

为什么我们在通过 axios 获取数据时使用 useeffect() react hook?

UseEffect无法使用axios提取数据

React Hook useEffect:使用带有异步await .api的axios来获取数据,并调用连续的相同api

React.useEffect:axios请求后状态未更新

React Useeffect 首先返回空数组

结合使用useEffect和Axios获取API数据将返回null-如何处理呢?

使用axios和ReactJS在React选择后如何获取数据?

使用useEffect和axios在加载时从TMDB获取类型列表

每次获取用户和axios时如何使用UseEffect?

.map 使用 Mongoose 获取数据后返回空对象数组

使用 React 钩子更正 useEffect 的依赖数组

如何使用useEffect React Native保存数组

React 使用 useEffect 异步加载数据

react-native中的Axios返回空数据数组,但POST人员返回一些数据

尝试使用Redux获取axios数据,然后使用useEffect将其加载到组件中

无法从 useEffect() 中的 AXIOS 获取数据

在 react js 中使用 useeffect 钩子获取数据

使用 React useEffect 获取数据和条件渲染

无法使用在 useEffect -React 中获取的数据设置状态

在 React 中使用 useEffect() 和 useCallback 获取数据

使用axios和React读取JSON数据

使用React Hooks多次获取数据axios-渲染数据

axios 和 fetch 在 React 中返回空响应数据

使用异步函数REACT createContext返回axios数据

axios 请求在 useEffect 中返回 undefined

从React中的Axios返回获取的数据

如何使用 axios 在 React Native 中获取数据

使用 React Redux 和 axios 创建获取数据的操作的困难