React 错误边界(Error Boundaries):在局部组件崩溃时维持应用整体可用性的防御设计

好,把手机收起来,把那个“我昨天晚上又崩溃了”的截图先放一边。今天我们不谈 Hooks 的玄学,不谈 Redux 的异步流,我们谈点硬核的、能保命的——错误边界。 如果你觉得你的 React 应用坚不可摧,那你一定没见过凌晨三点的服务器报警短信。在 React 的世界里,JavaScript 是单线程的,这意味着什么?意味着一旦你的代码里抛出一个未捕获的异常,整个渲染线程就会瞬间冻结,就像你试图用吸管喝一杯热汤,结果吸管断了,汤全洒在了你的键盘上。 以前,我们靠 window.onerror 这种全局的大扫除手段,或者到处堆砌 try/catch,那叫“苦肉计”,不优雅,还难维护。今天,我们要学的是“防弹衣”。React 给我们提供了一个叫做“错误边界”的概念,它允许我们在应用局部崩溃时,维持整体的可用性。 准备好了吗?我们要开始上课了。 一、 什么是“错误边界”?它不是你的防御塔 首先,我们要纠正一个巨大的误区。错误边界不是 try/catch。 别急着翻白眼,这是最关键的一点。在普通的 JavaScript 中,try/catch 是我们捕获错误的王道。但在 React 的渲染逻辑 …