react中error boundary的疑惑

error boundary的意义在于只是当前组件奔溃,不影响其他组件,但是又建议加到顶级组件,这样其中一个子组件奔溃,不是整个页面都缓存fail组件了吗?

理想状态应该是每个组件都加一个,这样奔溃才真正不会影响其他组件。

阅读 1.1k
1 个回答

我认为你说的“理想状态是每个组件都加一个”的说法是正确的,而“建议加到顶级组件”的说法值得商榷,不知道这一说法的来源和具体的上下文是什么,恐怕是考虑到精力和业务的权衡吧?
以下是React文档:

错误边界应该放置在哪?
错误边界的粒度由你来决定,可以将其包装在最顶层的路由组件并为用户展示一个 “Something went wrong” 的错误信息,就像服务端框架经常处理崩溃一样。你也可以将单独的部件包装在错误边界以保护应用其他部分不崩溃。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题