此问题可能由于useEffect的异步行为导致axios请求未能成功触发。一种解决方法是通过在useEffect中声明一个异步函数并在其中执行axios请求,如下所示:
import React, { useEffect } from "react";
import axios from "axios";
function MyComponent() {
useEffect(() => {
async function fetchData() {
const response = await axios.get("/api/data");
console.log(response.data);
}
fetchData();
}, []); // empty dependency array to only run effect once
return My Component;
}
在此示例中,我们声明了一个名为fetchData的异步函数,并在其中执行axios请求。我们在useEffect中调用该函数,以确保请求在组件挂载时仅执行一次。
请注意,我们必须使用async/await来正确处理异步操作。另外,我们在useEffect的依赖项数组中传递空数组,以确保该effect只运行一次。
这应该解决axios在useEffect中不起作用的问题。