Интересно, как может быть реализовано controlled components (например, поле ввода), если данные приложения основаны на неизменяемых данных, а приложение использует операторы равенства «===» в shouldComponentUpdate() для быстрого повторного рендеринга.Управляемый компонент ReactJS и неизменяемые данные
Давайте предположим, что глубоко вложенные данные и управляемый компонент где-то глубоко в иерархии:
Когда используется локальное состояние компонента (SetState()), как можно было бы осуществить это, как правило, изменения не видны реагировать как процесс рендеринга иерархии компонентов может пропускать ветви, потому что неизменяемые данные не изменились. Чтобы этого избежать, все состояние локального компонента должно находиться в состоянии приложения, и каждое событие на управляемом компоненте (например, ввод в поле ввода) должно приводить к изменению неизменяемых данных.
Хотя это должно сработать, являются ли эти (только) контролируемые компоненты реализованы при использовании неизменяемых данных ??? Выполнение всего этого с помощью флюса (запуск действия, выборка данных хранилища ...) может быть большим количеством накладных/круговых поездок для чего-то простого, как ввод в поле ввода.