关于nuxt3中获取后端数据问题

关于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)


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

这个警告可以不用理会,说一下$fetch与useFetch


useFetch = useAsyncData + $fetch


$fetch底层是使用的ofetch这个库,主要的作用是在浏览器侧进行请求数据的;$fetch不会把状态从服务端侧传递给客户端,而且一般不会把$fetch放置在useAsyncData方法中,这样会导致请求两次,一次在服务端侧,一次在客户端侧。


使用场景:


  1. 在加载之后使用$fetch,主要用于页面数据异步刷新;

  2. 使用useFetch主要是在服务端渲染的场景或者静态网商的场景,在组件初始化的时候进行数据获取,在服务端运行!

  • 慕粉3946981 提问者 #1

    在使用 nuxt3 开发的过程中可以理解为

    useFetch 主要用于组件挂载时请求网络数据,而$fetch主要用于如 click 点击事件时获取异步网络数据吗?

    2024-03-25 10:44:39
  • Brian 回复 提问者 慕粉3946981 #2
    正解~~~~~
    2024-03-25 10:48:54
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端高级工程师(大前端)
  • 参与学习       302    人
  • 解答问题       374    个

全新打造“技术成长&职业破局”双高体系,深度打通“全栈 + 全流程 +多端+ 提效+AI赋能”,递进式锤炼思维与高阶技能,高效实现能力跃迁,助力成为“驾驭全局,深广兼备,打通多端全栈”的高级工程师

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师