Open2

'ErrorBoundary' を JSX コンポーネントとして使用することはできません。の解決

rikurrrikurr

react-error-boundaryを入れると以下のエラーが出るようになった

エラー内容

'ErrorBoundary' を JSX コンポーネントとして使用することはできません。
  そのインスタンスの型 'ErrorBoundary' は、有効な JSX 要素ではありません。
    'render()' によって返された型は、これらの型同士で互換性がありません。
 ...に割り当てることはできません。
        型 '{}' を型 'ReactNode' に割り当てることはできません。
rikurrrikurr

すでにreact-error-baoundaryのissueにあがっていた

原因
Reactの型定義のバージョン18が関係している
現在@types/react: 17.0.2を使用していた

@types/reactを18以降にバージョンのアップグレードまたは、resolutionsオプションを追加し依存関係先のバージョンを固定すると解決できる

 "resolutions": {
    "@types/react": "^17.0.0"
  }

https://github.com/bvaughn/react-error-boundary/issues/111