検索

ホームページ  >  に質問  >  本文

サードパーティライブラリで状態セッターを呼び出すときに状態がリセットされるのを防ぐ方法

React クラス コンポーネントを React 関数コンポーネントに変換しようとしています。

コンポーネントの内部と外部で呼び出すことができる onChange 関数があります。 useState フックは、関数コンポーネント関数が呼び出されたときに初期値を取得します。古いクラスコンポーネントを使用すると、すべてが正常に動作します。なぜこれが起こるのか、そしてそれを解決するにはどうすればよいですか?

ああああ

P粉835428659P粉835428659536日前685

全員に返信(1)返信します

  • P粉514001887

    P粉5140018872023-09-11 22:01:16

    問題は、onChange が廃止されたクロージャであることです。行う必要があるのは、onChange を次のようにすることです:

    リーリー

    または、useEffect の依存関係配列に test を追加することもできますが、必ずクリーンアップしてください。 (とにかくこれを行うべきですが、今はそれがより重要です)

    リーリー

    技術的には、後者のアプローチを行う場合は、useCallback

    を行う必要があります。 リーリー

    この利点は、onChange の依存関係をさまざまな場所で追跡する必要がないことです。 onChange の依存関係リストは現在閉じられています。

    返事
    0
  • キャンセル返事