84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
React クラス コンポーネントを React 関数コンポーネントに変換しようとしています。
コンポーネントの内部と外部で呼び出すことができる onChange 関数があります。 useState フックは、関数コンポーネント関数が呼び出されたときに初期値を取得します。古いクラスコンポーネントを使用すると、すべてが正常に動作します。なぜこれが起こるのか、そしてそれを解決するにはどうすればよいですか?
onChange
useState
問題は、onChange が廃止されたクロージャであることです。行う必要があるのは、onChange を次のようにすることです:
または、useEffect の依存関係配列に test を追加することもできますが、必ずクリーンアップしてください。 (とにかくこれを行うべきですが、今はそれがより重要です)
useEffect
test
技術的には、後者のアプローチを行う場合は、useCallback
useCallback
この利点は、onChange の依存関係をさまざまな場所で追跡する必要がないことです。 onChange の依存関係リストは現在閉じられています。
問題は、
リーリーonChange
が廃止されたクロージャであることです。行う必要があるのは、onChange
を次のようにすることです:または、
リーリーuseEffect
の依存関係配列にtest
を追加することもできますが、必ずクリーンアップしてください。 (とにかくこれを行うべきですが、今はそれがより重要です)技術的には、後者のアプローチを行う場合は、
を行う必要があります。 リーリーuseCallback
この利点は、
onChange
の依存関係をさまざまな場所で追跡する必要がないことです。onChange
の依存関係リストは現在閉じられています。