Поскольку никто не ответил, я опубликую ответ, который придумал, пока экспериментировал.
Кажется, что использование shouldComponentUpdate
в сочетании с локальным состоянием и родительским состоянием, если необходимо, - это путь.
К каждому полю прикреплено событие onChange
для изменения локального состояния компонента. Затем внутри shouldComponentUpdate
проверьте, соответствует ли nextState текущему состоянию.
Если вам также нужно что-то проверить на соответствие родительскому состоянию, пропустите это через реквизит.
Лично мне не нравится этот подход, но я не могу придумать ничего лучше.
Если вы чувствуете, что есть лучший способ, я буду рад услышать другое мнение.