Redux
Для сложных взаимодействий между различными компонентами вы можете использовать redux .Redux хранит состояние всего вашего приложения и может быть обновлено только с actions
.Действие вызовет reducer
.Редуктор возвращает новую версию состояния с тем обновлением, которое вы там установили.
Относитесь к редуксу как к базе данных, не храните вещи несколько раз и сохраняйте хорошее разделение проблем ,Есть удивительная библиотека, которая позволяет вам собирать и обрабатывать данные, называемые Повторный выбор .
Повторный выбор
Эта библиотека позволит вам взять несколько частей магазина и объединить их для ваших нуждв любом заданном сценарии.
Заключение
В заключение, эти библиотеки являются частью стека, которым я пользуюсь около 2,5 лет (повторный выбор только 1 год).Я нашел их очень мощными для обработки сложных данных.При этом есть и другие варианты, такие как graphql, apollo или relay.