[{"data":1,"prerenderedAt":130},["ShallowReactive",2],{"docs-protocol\u002Flifecycle-zh":3},{"id":4,"title":5,"body":6,"description":117,"extension":123,"meta":124,"navigation":125,"path":126,"seo":127,"stem":128,"__hash__":129},"docs\u002Fzh\u002Fprotocol\u002Flifecycle.md","生命周期",{"type":7,"value":8,"toc":116},"minimark",[9,13,16,52,55,84,87,99,110],[10,11,12],"h1",{"id":12},"生命周期与错误策略",[14,15,5],"h2",{"id":5},[17,18,19,23,26,29,40,46],"ol",{},[20,21,22],"li",{},"前端使用 manifest、registry 和 mount target 初始化 adapter。",[20,24,25],{},"runtime 校验 manifest 与 registry 是否一致。",[20,27,28],{},"后端输出命令流，前端按顺序消费。",[20,30,31,35,36,39],{},[32,33,34],"code",{},"render"," 创建 widget 实例并生成 ",[32,37,38],{},"widgetId","。",[20,41,42,45],{},[32,43,44],{},"update"," 对 widget props 做浅合并。",[20,47,48,51],{},[32,49,50],{},"destroy"," 卸载组件并清理内部状态。",[14,53,54],{"id":54},"错误策略",[56,57,58,61,64,67,73,78,81],"ul",{},[20,59,60],{},"mount target 不存在：抛错",[20,62,63],{},"未注册组件：抛错",[20,65,66],{},"manifest 与 registry 不一致：初始化阶段抛错",[20,68,69,70,72],{},"未知 widget 的 ",[32,71,44],{},"：警告并跳过",[20,74,69,75,77],{},[32,76,50],{},"：警告并视为幂等 no-op",[20,79,80],{},"非法 JSON：通过错误通道暴露，不静默吞掉",[20,82,83],{},"schema 非法命令：通过错误通道暴露，不做猜测性修复",[14,85,86],{"id":86},"事件包装",[88,89,90,91,94,95,98],"p",{},"组件只负责发出 ",[32,92,93],{},"type"," 和 ",[32,96,97],{},"payload","，runtime 自动补齐：",[56,100,101,105],{},[20,102,103],{},[32,104,38],{},[20,106,107],{},[32,108,109],{},"timestamp",[88,111,112,113,39],{},"详细参考见 ",[32,114,115],{},"references\u002Flifecycle.md",{"title":117,"searchDepth":118,"depth":118,"links":119},"",2,[120,121,122],{"id":5,"depth":118,"text":5},{"id":54,"depth":118,"text":54},{"id":86,"depth":118,"text":86},"md",{},true,"\u002Fzh\u002Fprotocol\u002Flifecycle",{"title":5,"description":117},"zh\u002Fprotocol\u002Flifecycle","Uncfv1sRxSVKgYCxlWJfLtJ7bzQ0JOTPMw7y7OLqFtI",1779263316049]