問題タブ [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.
react-native - デバイスでアプリを初めて開いたときにのみ、そのデバイスにモーダルを表示しようとしています
現在、コードを実行すると、アプリが開かれるたびにモーダルが表示されます。これは、「modalVisibility」の初期状態に関係していると思います
「const [modalVisibility, setModalVisibility] = useState(true);」アプリケーションが起動されるたびに呼び出されますか? だとしたらそれはそれで問題です。
これは "onShow" モーダル プロパティの問題ですか?
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 が起動する理由がわかりません。問題を示すために、以下にいくつかのコードを配置しました。