我开始慢慢地从nuxt 2迁移到nuxt 3,以前我使用过axios。
在Nuxt3中,建议使用useFetch
然而,对于useFetch来说,这种行为是相当奇怪的。没有系统地打电话。
例如,在这段代码中:
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,语法类似
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
发布于 2022-08-23 04:21:55
useFetch和Axios的主要区别在于,useFetch是useAsyncData (以及本地$fetch)的包装器,因此它既适用于useAsyncData模式,也适用于Nuxt的静态模式。
如果在onMounted钩子中使用它,那么如果将服务器选项设置为false,那么它只在客户机中运行(更像Axios如何在挂载的钩子中运行),您可能会得到更多的预期结果。我主要是在<script setup>中使用它来进行SSR设置。
https://stackoverflow.com/questions/73158598
复制相似问题