React 错误边界(Error Boundary)是什么?函数组件能做错误边界吗?

错误边界是捕获子组件渲染/生命周期抛出的错误、避免整棵应用崩溃的类组件,通过两个静态方法实现:

class ErrorBoundary extends React.Component {
  state = { hasError: false }
  static getDerivedStateFromError(err) { return { hasError: true } }
  componentDidCatch(err, info) { logError(err, info) }
  render() {
    return this.state.hasError ? <Fallback /> : this.props.children
  }
}

关键点:

同分类其他题目