核心结论
wx:if、hidden、列表渲染和 template 分别解决节点创建、可见性切换、重复集合和结构复用问题,不能互相替代。wx:if 控制子树是否存在,适合切换频率低、节点创建成本可以延迟的内容;hidden 通常保留节点与内部状态,只改变可见性,适合频繁开合且规模较小的区域;列表渲染必须通过稳定且具有业务含义的键维护节点身份;template 用于复用静态模板片段,不具备自定义组件完整的实例、状态、生命周期和隔离边界。选择的核心依据是切换频率、子树规模、状态保留要求和组件职责,而不是笼统判断哪种写法性能最好。
底层机制
当 wx:if 条件由假变真时,对应子树需要被创建