問題タブ [use-effect]

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 に答える
111 参照

react-native - デバイスでアプリを初めて開いたときにのみ、そのデバイスにモーダルを表示しようとしています

現在、コードを実行すると、アプリが開かれるたびにモーダルが表示されます。これは、「modalVisibility」の初期状態に関係していると思います

「const [modalVisibility, setModalVisibility] = useState(true);」アプリケーションが起動されるたびに呼び出されますか? だとしたらそれはそれで問題です。

これは "onShow" モーダル プロパティの問題ですか?

0 投票する
1 に答える
337 参照

reactjs - 依存関係の変更がないにもかかわらず実行中の useEffect

私はいくつかの同様の質問を読み、それぞれの解決策を試しましたが、どれも機能していないようで、react-router を使用しているようにユースケースと正確に一致しません。

私の App.js では、refreshTokenId の値を UUID に設定しました。App.js に子コンポーネントがあり、最初のレンダリングで API 呼び出しを送信してデータをフェッチします。これで、refreshTokenId を依存関係として、API 呼び出しが含まれている useEffect フックに追加しました。反応ルーターを使用していますが、ページから移動して戻ると、依存関係 (つまり、refreshTokenId) が変更されていないにもかかわらず、API 呼び出しが再度発生します。Redux 開発ツールで時間を移動し、状態を観察することで、これを確認しました。refreshTokenId が最初に変更されるのは、App.js がマウントされたときだけです。これは、最初に App.js の useEffect で refreshTokenId の値を設定したためです。

依存関係が変化していないのに、サブコンポーネントの useEffect が起動する理由がわかりません。問題を示すために、以下にいくつかのコードを配置しました。