検索

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

useImperativeHandle の状態は永続的ではありません

私が次の状態にあるとします:

リーリー

そして、次のように useImperativeHandle に入れます:

リーリー

useEffect を使用して状態が次のように変化するかどうかを追跡すると: リーリー

これは機能しません。ボタン

onClick があるように手動でチェックした場合にのみ、それが印刷されます。それ以外の場合はステートフルではありません。なぜこうなった?他に機能させる方法はありますか?それとも状態を親に転送する唯一の方法ですか?

P粉786800174P粉786800174237日前347

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

  • P粉674999420

    P粉6749994202024-04-01 18:22:37

    useEffect はリアクティブではありません。物事を追跡しません。レンダー間の依存関係を比較するだけで、相違がある場合は、指定されたコールバックを実行します。 useEffect を持つコンポーネントは、関数を実行するために 再レンダリングする必要があります。

    できることは、親から子にコールバックを渡し、子が状態を変更したときにコールバックを呼び出せるようにすることです。

    返事
    0
  • キャンセル返事