Published onApril 7, 2026当抽象层换了实现:Expo Router SDK 56 两个 header 坑背后的边界迁移React-NativeExpo-RouterReact-NavigationiOS机制分析从 JS-stack 到 native-stack 的实现切换,如何让一个 import 路径变成硬错误、让一个空字符串技巧静默失效——以及"resolver 守卫"和"UIKit 语义"分别属于哪一类边界。
Published onMarch 31, 2026声明式路由的单驱动原则:为什么"导航真相"只能有一个来源React-NativeExpo-Router认证架构React-Query机制分析声明式 auth gate 与命令式 router.replace 共存时为什么必然闪烁——以及"派生状态先于 promise resolve 翻转"这条隐含时序如何把双驱动放大成可见回归。
Published onMarch 24, 2026引用稳定性是 Hook 的隐含契约:`data ?? []` 为什么在移动端会变成死循环React-NativeReactHooksReact-Query机制分析React 用引用相等而非值相等来判断依赖变化——这条底层语义如何把一个无害的空数组 fallback 变成无限 setState 循环,以及为什么同一段代码在 Web 上只是浪费、在移动端却致命。
Published onMarch 17, 2026一个 await 解析成 undefined:运行时边界、静默回退与"形态约束"的机制账React-NativeReact-QueryHermesAsync机制分析为什么 queryFn 这个特定边界上的 async/await 会在 Hermes 上把已 resolve 的值变成 undefined——以及静默 fail-soft 如何把它伪装成一个无害的 feature flag。
Published onMarch 10, 2026当安全策略在客户端拦截:iOS ATS 与"模拟器能、真机不能"背后的三重隐身React-NativeExpoiOSATS机制分析ATS 在请求离开设备前就拒绝它——这条"客户端侧强制"的安全语义如何与 fail-soft 回退、构建期冻结的配置叠加,把一个网络拒绝伪装成"功能被禁用"。