それはドキュメントに書かれています、それは
<Field/>
サブスクライブしているフィールドの状態が変更されるたびに、 は再レンダリングします。
したがって、複数のフィールドがある場合、それらのすべてが再レンダリングされ、そのうちの 1 つだけが変更されます。現在変更されていない他のフィールドの再レンダリングを防ぐ方法はありますか?
それはドキュメントに書かれています、それは
<Field/>
サブスクライブしているフィールドの状態が変更されるたびに、 は再レンダリングします。
したがって、複数のフィールドがある場合、それらのすべてが再レンダリングされ、そのうちの 1 つだけが変更されます。現在変更されていない他のフィールドの再レンダリングを防ぐ方法はありますか?
別の回避策は使用することですReact.memo
(反応バージョン> = 16.6.0)
各入力フィールドを個別のコンポーネントにして、メモにラップします。
export default React.memo(MyInputComponent);
に値を渡す場合は、フォーム データ オブジェクト全体ではMyInputComponent
なく、必要な prop 値のみを渡します。
<MyInputComponent value={formData.myValue} />
この方法では、が変更されたMyInputComponent
場合にのみ再レンダリングされます。formData.myValue