关于nuxt3中获取后端数据问题
在使用 nuxt3 (给某个组件绑定了一个点击事件获取后端数据)的 useFetch 获取后端数据时,浏览器控制台警告如下
asyncData.js:121 [nuxt] [useFetch] Component is already mounted, please use $fetch instead. See nuxt.com/docs/getting-started/data-fetching
上面链接省略了https避免触发审核机制
请问这是怎么回事?如何解决?
const baseUrl = "http://127.0.0.1:8081"
useFetch(baseUrl + url)
正在回答
这个警告可以不用理会,说一下$fetch与useFetch
useFetch = useAsyncData + $fetch
$fetch底层是使用的ofetch这个库,主要的作用是在浏览器侧进行请求数据的;$fetch不会把状态从服务端侧传递给客户端,而且一般不会把$fetch放置在useAsyncData方法中,这样会导致请求两次,一次在服务端侧,一次在客户端侧。
使用场景:
在加载之后使用$fetch,主要用于页面数据异步刷新;
使用useFetch主要是在服务端渲染的场景或者静态网商的场景,在组件初始化的时候进行数据获取,在服务端运行!
- 参与学习 302 人
- 解答问题 374 个
全新打造“技术成长&职业破局”双高体系,深度打通“全栈 + 全流程 +多端+ 提效+AI赋能”,递进式锤炼思维与高阶技能,高效实现能力跃迁,助力成为“驾驭全局,深广兼备,打通多端全栈”的高级工程师
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星