問題タブ [use-context]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
36 参照

reactjs - React のコンポーネント間で useContext または useReducer を共有していないようです

useContext() と useReducer() を使用して、redux を取り除いて別のパッケージを保存し、状態管理の新しい方法を学びたいと考えています。ブロッカーに当たりました。

レデューサーがペイロードを更新した後のログイン ページ。以下のスクリーンショットで確認できます。Context.Provider と reducer の値が更新されていることがわかりますが、console.log('context') を実行すると、まだ初期値が取得されます。

コンポーネント間で更新されたペイロードを共有したいのですが、これをネイティブに行う唯一の方法は localStorage ですか? または、概念的に何かが欠けていますか。

前もって感謝します。

これが AuthProvider の Context.Provider です - コンテキストも更新されますが、/dashboard または dashboard.tsx に移動すると、コンテキストは initialState に戻ります。

useReducer の状態が更新されましたが、これをログインとダッシュボードの間で共有するにはどうすればよいですか

ここに私のApp.tsxがあります

これが私のAuthProviderです:-

これが私のauthReducerです:-

ここに私のログインページがあります:-