ホームページ  >  に質問  >  本文

強制更新は、Next.js の未定義のパスまたはエラー ページにアクセスした結果発生します。

未定義のパスまたはエラー ページにアクセスすると、Next.js がハード更新を実行し、コンテキストがデフォルトの状態に戻ります (つまり、userProfile 状態変数に格納されている値が null になります)

{stucture: Sidebar and main} を使用したレイアウトがあり、Sidebar コンポーネントにコンテキスト フックから状態変数として取得したユーザーの電子メールを表示します。

ただし、未定義のパスをクリックするか、URL に手動で入力すると、カスタム エラー ページがインデックス ページ ('/') にスローされますが、これによりステータスが失われ、## に戻ります。 #null(コンテキスト)。

私のコンテキストファイルは次のようになります

リーリー

ログイン ページのログイン ハンドラーにステータス (成功時) を設定しました。

回避策はありますか、またはローカル ストレージを使用する必要がありますか

現在、彼がインデックス ページに戻ると、ユーザー プロファイルが再度取得されます。

ローカル ストレージの方が良い選択肢かもしれないと思います。

P粉254077747P粉254077747220日前484

全員に返信(1)返信します

  • P粉511749537

    P粉5117495372024-04-06 00:57:57

    私はコンテキスト ファイルに状態を設定するだけで問題を解決しました。他の場所には設定しませんでした。つまり、context.js ファイルでユーザーのプロファイル データを取得し、そこに状態を設定して、どこでも使用できるようにします。同じ問題を抱えている人がいたら、私に言及してください!

    私の context.js ファイルは以下のようになります

    リーリー

    返事
    0
  • キャンセル返事