首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >axios和useFetch (nuxt 3)有什么区别?

axios和useFetch (nuxt 3)有什么区别?
EN

Stack Overflow用户
提问于 2022-07-28 20:03:56
回答 3查看 676关注 0票数 0

我开始慢慢地从nuxt 2迁移到nuxt 3,以前我使用过axios。

在Nuxt3中,建议使用useFetch

然而,对于useFetch来说,这种行为是相当奇怪的。没有系统地打电话。

例如,在这段代码中:

代码语言:javascript
运行
复制
async mounted() {
        const store = useAuth();
        let response = await axios.get('http://dev.test.fr/api/secured/admin', {headers : store.authHeader() });

        this.sensibleInformation  = response.data;
    },

使用Axios,每次我打开这个页面时,都会发出呼叫,sensibleInformation是最新的。

对于useFetch,语法类似

代码语言:javascript
运行
复制
    async mounted() {
        const store = useAuth();
        let response = await useFetch('http://dev.malt.fr/api/secured/admin' , {method : 'get', headers : store.authHeader() });
        this.sensibleInformation  = response.data;
    },

但是对服务器的调用已经完成了..。有时候。因此,大多数情况下,sensibleInformation是空的。我在文件里找不到任何解释。

也许这里有我想念的东西。

我用的是nuxt 3.0.0-rc.6

EN

回答 3

Stack Overflow用户

发布于 2022-07-29 11:08:40

对此不确定,但我认为"useFetch“助手被设计为与Vue组合API一起使用,因此:

  • 在“安装”函数中
  • 如果使用的是"“synthax,则直接放在脚本标记中。

您正在处理的问题可能是由于您在Vue.js options API的“挂载”钩子中使用“Vue.js”。

但又一次,不确定这一次:)

票数 0
EN

Stack Overflow用户

发布于 2022-08-23 04:21:55

useFetch和Axios的主要区别在于,useFetch是useAsyncData (以及本地$fetch)的包装器,因此它既适用于useAsyncData模式,也适用于Nuxt的静态模式。

如果在onMounted钩子中使用它,那么如果将服务器选项设置为false,那么它只在客户机中运行(更像Axios如何在挂载的钩子中运行),您可能会得到更多的预期结果。我主要是在<script setup>中使用它来进行SSR设置。

更多信息在这里:https://v3.nuxtjs.org/api/composables/use-fetch

票数 0
EN

Stack Overflow用户

发布于 2022-11-03 07:15:00

正如nuxtJS3 useFetch中所解释的那样

useFetch是$fetch的包装器(来自这里的奥米)

  1. 您不需要导入这个库,它包含在vuejs3中,最后,axios与这里解释的vuejs3不兼容
  2. 真正伟大的是,在JSON中自动解析了body,所以不需要解析或压缩任何东西。此外,自动添加内容类型的标头。

因此无需导入任何库、自动解析、自动标头检测等.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73158598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档