未定義のパスまたはエラー ページにアクセスすると、Next.js がハード更新を実行し、コンテキストがデフォルトの状態に戻ります (つまり、userProfile
状態変数に格納されている値が null になります)
{stucture: Sidebar and main} を使用したレイアウトがあり、Sidebar コンポーネントにコンテキスト フックから状態変数として取得したユーザーの電子メールを表示します。
ただし、未定義のパスをクリックするか、URL に手動で入力すると、カスタム エラー ページがインデックス ページ ('/') にスローされますが、これによりステータスが失われ、## に戻ります。 #null(コンテキスト)。
リーリー
ログイン ページのログイン ハンドラーにステータス (成功時) を設定しました。回避策はありますか、またはローカル ストレージを使用する必要がありますか
現在、彼がインデックス ページに戻ると、ユーザー プロファイルが再度取得されます。
ローカル ストレージの方が良い選択肢かもしれないと思います。
P粉5117495372024-04-06 00:57:57
私はコンテキスト ファイルに状態を設定するだけで問題を解決しました。他の場所には設定しませんでした。つまり、context.js ファイルでユーザーのプロファイル データを取得し、そこに状態を設定して、どこでも使用できるようにします。同じ問題を抱えている人がいたら、私に言及してください!
私の context.js ファイルは以下のようになります
リーリー