如果代码中出现问题导致报错,通常会使页面报错,导致白屏React使报错不再白屏-LMLPHP

function Head() {
  // 此时模拟报错导致的白屏
  return <div>Head --- {content}</div>
}
export default () => {
  return (
    <>
      <div>下面是标题</div>
      <Head />
    </>
  )
}

如上代码只是Head组件中出现了报错,如果只想给出错误信息,但是其他组件仍要正常显示该怎么做呢?
需要下载使用第三方库

npm i react-error-boundary

将可能会报错的组件包裹起来即可

import { ErrorBoundary } from "react-error-boundary"

function Head() {
  // 此时模拟报错导致的白屏
  return <div>Head --- {content}</div>
}
export default () => {
  return (
    <>
      <div>下面是标题</div>
      <ErrorBoundary fallback={<div>出错了!!!</div>}>
        <Head />
      </ErrorBoundary>
    </>
  )
}

此时可以发现,控制台仍有报错,但是不再白屏且报错组件位置出现了自定义的提示信息
React使报错不再白屏-LMLPHP
React使报错不再白屏-LMLPHP

12-04 14:11