Доступ к состоянию компонента из-за действия приставки

Мне нужно сохранить изменения состояния на различных компонентах onChange События. поэтому я сохраняю их в их состояниях, так как прямое сохранение в редуксе приводит к значительному повторному рендерингу и вредит пользовательскому опыту, даже иногда вызывает ошибки. Теперь мне нужно захватить состояния всех этих компонентов, как только пользователь нажмет на определенную кнопку, и переместить эти значения состояний в избыточный (этот бит является прямым), но как я могу получить доступ ко всем состояниям компонентов в действии, которое будет обновлять избыточное состояние? Поскольку мне нужно получить к ним доступ индивидуально.

1 ответ

Решение

Прежде всего вы должны проверить весь рабочий процесс вашего приложения, потому что сохранение поля в redux не должно создавать больших накладных расходов для повторного рендеринга.

Также вы должны понимать, что такое Действия (из официальной документации Redux):

Действия - это полезная информация, которая отправляет данные из вашего приложения в ваш магазин. Они являются единственным источником информации для магазина. Вы отправляете их в магазин с помощью store.dispatch().

Таким образом, действие должно содержать все необходимые данные внутри себя.

Если вы решите запустить одно действие для всей формы, вы можете использовать этот подход (хорошим примером является форма контакта, потому что вы хотите отправить ее только тогда, когда она полностью заполнена).

Прежде всего, когда вы делаете нажатие кнопки, вы должны вызвать функцию родителя component (который содержит все необходимые поля и знает, как собрать необходимую дату).
Функция родительского компонента может хранить все значения полей в своем собственном stateили собрать states ребенка components,
После этого вы сможете отправлять действия с необходимыми параметрами из этой функции (обычно диспетчер действий передается из container)

На официальном сайте вы можете найти хорошее объяснение: UsageWithReact

Другие вопросы по тегам