【UniApp小程序知识点总结】API 请求到底该写在哪里?页面钩子 vs 组件内部

【UniApp小程序知识点总结】API 请求到底该写在哪里?页面钩子 vs 组件内部 一、 为什么有时候必须在页面生命周期中获取?在 Uniapp 中,页面是路由的基本单位,也是小程序栈管理的核心。以下场景,请务必将请求逻辑写在页面层。1. 只有页面能拿到“路由参数”这是最硬核的技术原因。在 Uniapp 中,当我们跳转页面时携带参数(如navigateTo({ url: '/pages/detail?id=123' })),这些参数只能在页面的onLoad(options)生命周期中获取到。场景:商品详情页、文章详情页、订单确认页。分析:如果你把获取数据的逻辑写在子组件里,组件是无法直接感知 URL 参数的。你不得不在页面onLoad拿到参数,再通过 props 传给组件。结论:对于强依赖路由 ID 的页面,在页面层(onLoad)获取数据是唯一顺畅的路径。2. 统一的 Loading 状态管理小程序的用户体验往往依赖全局反馈。当用户进入一个页面时,通常期望看到一个统一的“加载中”提示(uni.showLoading)或骨架屏。场景:首屏数据填充。分析: