如何设计小程序页面路由与跨页面通信,使参数、返回结果和页面栈保持可维护?
简答题中等568 次浏览
参考答案与解析
# 核心结论
可维护的小程序路由设计,首先要区分“打开新页面、替换当前页面、返回上一页面、切换底部导航页、重建页面栈”这些不同语义,再选择对应的公开路由 API。跨页面通信则应根据数据的作用范围和生命周期选择方案:小型定位参数使用路由参数;新页面向来源页返回一次性结果时使用事件通道;多个页面长期共享的数据放入独立状态模块;需要跨进程恢复的数据才进入持久缓存。不要通过 getCurrentPages 长期保存或直接修改其他页面实例,这会让页面栈、生命周期和数据所有权相互耦合。
# 底层机制
小程序路由的本质是对页面栈执行压栈、替换、出栈或重建。使用 navigateTo 会保留当前页面并打开普通页面,适合详情
