使用 axios.get 方法加载页面时,如何仅从 API 获取数据一次?

Posted

技术标签:

【中文标题】使用 axios.get 方法加载页面时,如何仅从 API 获取数据一次?【英文标题】:How to get data from an API only once when the page is loaded using axios.get method? 【发布时间】:2022-01-15 17:18:23 【问题描述】:

我是 React 的初学者,我只想在加载特定页面时从我的 API 中获取一次数据,并将其保存到一个变量中,即“todo”。我可以在我的后端代码中看到此代码正在向 api 发送连续请求。

const [todo, setTodo] = useState()
        const fetchdata = async () => 
            const res = await axios.get(`http://localhost:8000/api/get-todo/$nid`);
            setTodo(res.data);
        ;
        useEffect(() => 
            fetchdata();
        ,)

【问题讨论】:

【参考方案1】:

您需要在 useEffect 钩子的末尾使用方括号 ([]) 来发出发送请求一次

useEffect(() => 
    fetchdata();
, [])

【讨论】:

以上是关于使用 axios.get 方法加载页面时,如何仅从 API 获取数据一次?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我使用 redux 时 axios.get 不起作用?

如何在使用 jest 模拟 axios.get 时传递 AxiosPrmoise 类型值?

用axios.get从静态目录加载json文件。

React - 多个 Axios 请求

如何:通过带有打字稿的配置时模拟 axios

如何使用 axios get 请求发送正文数据和标头?