Как обновить Магазин с данными NgRX?
Моя структура компонентов
В случае case.component, который кэширует данные дела в сущности Case хранилища, я извлекаю их из дочерних компонентов (case-actions, case-activity... и т. Д.).
Но когда я удаленно обновляю Case из любого дочернего компонента, я не знаю, как обновить кешированные данные в родительском компоненте (case.component), чтобы снова воспроизвести это на дочерних компонентах.
Я пытаюсь использовать лучшие практики.
1 ответ
Решение
Лучшая практика:
- Вы не должны получать данные из дочернего компонента, родитель должен получить данные, а затем передать их дочерним элементам, используя
@Input()
и вы также должны обновить свой магазин из родительского, используя@Output()
это запускается детьми. Таким образом, у родителя (контейнера) есть почти вся логика.
Быстрое исправление, которое я не рекомендую:
- Если вам просто нужно исправление, подпишитесь на свой селектор в дочерних элементах и отправьте значение родительскому элементу, используя
@Output()