小程序路由参数与页面返回结果如何设计才能抵御页面栈变化
简答题中等356 次浏览
参考答案与解析
# 核心结论
小程序路由应被设计为可恢复的页面状态迁移,而不是对页面栈和上一页实例的直接依赖。路由参数只传递可序列化、可校验且足以定位业务数据的最小信息,例如记录标识、来源类型和流程标识;大型对象、敏感数据及权限结果不应拼接到地址中。页面返回结果应采用事件通道、共享状态加版本号或重新查询等明确协议,并为上一页不存在、页面被回收、页面栈被重建、外部入口直达等情况提供降级路径。基本原则是:任何页面都能在没有前序页面实例的情况下独立初始化。
# 底层机制
wx.navigateTo 会保留当前页并压入新页面,适合需要返回的选择、查看和编辑流程;wx.redirectTo 会替换当前页,适合完成后不应再次返回或重复提交
