const [ session ] = useSession()でエラーになるのを解決
タイトルが適当ではない気がしますが・・・。
検索で引っかかればOK的な感じです。
Contents
動作環境
next.js
types
$ npm list
├── @types/node@18.0.1
├── @types/react-dom@18.0.5
├── @types/react@18.0.14
├── eslint-config-next@12.2.0
├── eslint@8.19.0
├── next-auth@4.8.0
├── next@12.2.0
├── react-dom@18.2.0
├── react-hook-form@7.33.1
├── react@18.2.0
└── typescript@4.7.4
エラーの詳細
next.jsのtypescriptのコードの中で
const [ session ] = useSession()
という行でsessonの文字がエラーになった。
npm run buildして出力されたエラーは以下の通りです。
Type error: Type '{ readonly data: null; readonly status: "loading"; } | { data: Session; status: "authenticated"; } | { data: null; status: "loading"; } | { data: Session; status: "authenticated"; } | { ...; }' is not an array type.
なんぞコレ。どのワードで検索すればいいのか・・・。
typescriptまだ初心者なので、どう直したら良いのかわからん。any型を指定してもエラーは消えない。
解決
const [ session ] = useSession()
の行を次のように修正したらエラーが消えました。
const { data: session } = useSession()
参考サイト
以下のサイトに答えが書いてました。
https://next-auth.js.org/getting-started/typescript
結果オーライ。
Posted by パソコンの先生
関連記事

Next.jsのエラーの解消
Build optimization failed: found pages w ...

> Build optimization failed: found page without a React Component as default export in pages/xxxxxxx のエラー
動作環境 nextjs 解決方法 pages/xxxxx.tsx のファイルの中 ...

Binding element ‘name’ implicitly has an ‘any’ type. のエラー
動作環境 nextjs エラーの出ているコード (ファイル名:_app.tsx) ...

{“code”:”BadRequest”,”message”:”The server did not understand the operation that was requested.”,”type”:”client”}のエラー
動作環境 next.jsnode v16.13.0amplify NextAut ...

【Amplify】The declaration was marked as deprecated here.の警告の回避方法
動作環境 amplify & next.js (2022年7月) npm ...