原生模块是 JavaScript 与平台能力之间的边界。参数、结果、线程与错误都要约定;不是把一个 JS 函数改名就能调用系统 API。
栈导航表达进入与返回,标签表达并列入口。路由参数适合传资源 ID,不适合承载整份可变业务对象。
useState 保存组件状态,useEffect 用于与外部系统同步。派生值可以直接计算,不必用 effect 再写回另一份状态。
JSX 表达组件树,View 组织布局,Text 显示文字。原生布局中的尺寸、主轴和交叉轴需要结合父容器理解。
开发服务器、应用进程和设备是不同参与者。设备必须能访问打包服务;原生崩溃与 JavaScript 错误也在不同日志中出现。
先选择一个平台跑通工具链。JavaScript 依赖、Android/iOS 原生构建依赖与设备连接问题应分开排查。
SwiftUI 核心:View 是界面描述,状态身份由框架关联到视图层级。布局、状态与副作用应各自有明确来源。
await 允许挂起,不承诺换后台线程。Actor 限制状态访问的隔离边界,Task 还需要取消和错误处理。
NavigationStack 管理一条进入与返回路径,sheet 表达模态任务,TabView 表达并列主入口。用同一种容器模拟所有导航会模糊返回语义。
Stack 排列内容,Spacer 消耗可用空间。布局是父子协商尺寸,固定 frame 与内容自身大小可能产生冲突。