Next.js Reactアプリでウィンドウが定義されていません 質問する

Next.js Reactアプリでウィンドウが定義されていません 質問する

私のアクセスできないアプリwindow:

未処理の拒否 (ReferenceError): ウィンドウが定義されていません

componentWillMount() {
    console.log('window.innerHeight', window.innerHeight);
}

ここに画像の説明を入力してください

ベストアンサー1

p̶r̶o̶c̶e̶s̶s̶.̶b̶r̶o̶w̶s̶e̶rもう一つの唯一の方法は、現在実行中のものだけを使用して、サイドバーのみで実行することです。

しかし、processオブジェクトはバックエンド側専用の NodeJS 変数であるため、Webpack5 および NextJS では非推奨になっています。

windowしたがって、ブラウザからバックオブジェクトを使用する必要があります。

if (typeof window !== "undefined") {
  // Client-side-only code
}

他の解決策としては、React Hook を使用して以下を置き換えることですcomponentDidMount:

useEffect(() => {
    // Client-side-only code
})

おすすめ記事