1

それはドキュメントに書かれています、それは

<Field/>サブスクライブしているフィールドの状態が変更されるたびに、 は再レンダリングします。

したがって、複数のフィールドがある場合、それらのすべてが再レンダリングされ、そのうちの 1 つだけが変更されます。現在変更されていない他のフィールドの再レンダリングを防ぐ方法はありますか?

4

2 に答える 2

3

別の回避策は使用することですReact.memo(反応バージョン> = 16.6.0)

各入力フィールドを個別のコンポーネントにして、メモにラップします。

export default React.memo(MyInputComponent);

に値を渡す場合は、フォーム データ オブジェクト全体ではMyInputComponentなく、必要な prop 値のみを渡します。

<MyInputComponent value={formData.myValue} />

この方法では、が変更されたMyInputComponent場合にのみ再レンダリングされます。formData.myValue

于 2020-08-04T11:04:27.540 に答える