大型系统多人协作的时候
React 怎么防止别人的组件导致页面挂掉
yinlv
#4
楼主说的应该是 render 错误导致整个 react 渲染挂掉。 我一般是建议对数据进行默认值处理,例如,我读取了某个数组型props, 那么我会要求这个 props 必须为一个数组。还有就是一个复杂对象下的成员,建议在 render return html 之前,使用 try 来预先设置成一个变量,如果读取失败,catch 赋值为一个不会导致页面错误的默认值。
react 目前还不知道有什么办法可以有类似 Promise 一样的 then catch , render 渲染如果用异步产生结果将会导致页面渲染速度大幅下降。同步执行就会出现未捕捉的错误导致线程挂掉的问题,所以建议使用 try 来捕捉错误,意料之内的错误不会让线程挂掉,这样你的页面就可以继续渲染下去啦!