есть правило в redux, состояние должно быть изменено только в редукторах. Кто-нибудь знает рекомендации по управлению состоянием в дочерних компонентах? я имею в виду, как реагировать на какое-либо событие в компоненте, которое не является «контейнером», если дочерний компонент может модифицировать свою внутреннюю модель @intput или он должен запускать только какое-то событие, которое затем «контейнер» должен преобразовать в действие, а изменение модели должно вернуться вернуться к этому компоненту через @input? или дочерний компонент могут изменить свою модель? скажем, у нас есть компонент datepicker. При выборе даты в функциях обработчика мы должны обновить this.date или нам нужно только инициировать событие dateChange и ждать, пока модель будет изменена контейнером? спасибоРедукция - состояние Angular2/ngrx в дочерних компонентах
ответ
Существует хорошая концепция компонентов состояния и состояния без учета состояния в угловой экосистеме. Так это зависит, что проблемы вы пытаетесь достичь:
- делает ваш компонент может получить исходные данные из вашего маршрута
- делает компоненты имеют живое знание о текущем состоянии
- этой информации действуют между другими компонентами государственной изменения
- сколько внешних зависимости/коммуникация этого компонент имеет
- имеют отслеживание состояния/ребенок без компонентов и т.д.
- содержит Redux действие (ngrx/магазин или ng2re dux, например)
Прочитайте эту статью, чтобы получить дополнительную информацию о различиях между этими типами компонентов.
После этого вам необходимо нарисовать собственную картину, какой подход лучше всего подходит для вашей собственной архитектуры.
поэтому мой пример выглядит следующим образом:
<plumb [nodes]='nodes$|async' [connections]='connections$|async' (connect)='onConnect($event)' (disconnect)='onDisconnect($event)')/>
basicaly его управление графом рисовать диаграммы .. Я givint этого cmoponent как список параметров блоков/NDoes и список подключений и я я запускаю два события, когда пользователь соединяет элементы или disconets в графе. так что вопрос в том, что изменение списка «соединений» должно быть внутри компонента или когда пользовательский компонент подключения должен запускать событие и ждать с помощью стрелки чертежа до тех пор, пока хранилище ngrx не обработает его и вернуть новый список подключений :) Я не хочу, чтобы этот компонентный я хочу, чтобы это было многоразовым .. в соответствии со статьей, которую вы отправили, похоже, что ее лучше иметь компоненты stateles, поэтому он не должен изменять список подключений. спасибо
Я думаю, что в вашем случае вам нужны оба компонента с состоянием, чтобы инкапсулировать поведение, специфичное для конкретных компонентов, и соответствующие данные для лучшего тестирования модулей в будущем и лучшей защиты регрессии и событий пожара вне управления коммуникациями компонентов , Это имеет смысл в вашем случае? – VadimB
Да, это то, о чем я думал. Я не хочу мутировать сборник «соединений», переданных компоненту beacues, его редукция no no .. поэтому я думал о создании копии внутри этого компонента и оперировать этим списком и информировать внешний мир что список исходных соединений необходимо изменить .. howeve havent видел такой шаблон в любом коде до сих пор :) –
- 1. Редукция не распространяется на состояние
- 2. Наследующее состояние в компонентах реагирования
- 3. Как получить данные о двух дочерних компонентах?
- 4. реакция-маршрутизатор получение this.props.location в дочерних компонентах
- 5. Vue: Получение экземпляра роутера в дочерних компонентах
- 6. RouterLink не работает в дочерних компонентах
- 7. Использовать вспомогательные маршруты в вложенных дочерних компонентах
- 8. Props.store не работает на дочерних компонентах
- 9. Состояние дочерних компонентов в реактиве
- 10. Как избежать дублирования идентификаторов в дочерних компонентах Android?
- 11. Обработка дочерних контрольных событий в компонентах Windows Forms в C++
- 12. Реакция, Редукция и неизменяемость
- 13. Как сбросить состояние дочерних элементов?
- 14. pagejs и Polymer data-route в дочерних компонентах
- 15. Флюксируемый контекст и executeAction в дочерних компонентах реакции
- 16. Как поймать события на нескольких дочерних компонентах Vue
- 17. JPanel не генерирует MouseEvents, когда курсор находится на дочерних компонентах
- 18. Использовать состояние или refs в компонентах формы React.js?
- 19. Редукция массива в параллельном цитоне
- 20. Редукция очень медленная в OpenMP
- 21. Тип, редукция и соединение
- 22. Простая редукция (комплектность NP)
- 23. Редукция экземпляра ручного объекта
- 24. Бета-редукция некоторых лямбда
- 25. Подчеркивание _.редукция разъяснений?
- 26. Бета-редукция исчисления лямбда
- 27. Избегайте именования контейнера/региона на дочерних дочерних составных компонентах с включенными
- 28. Состояние родительского компонента, изменяющее компоненты дочерних компонентов
- 29. Почему реакция-редукция создает несколько состояний?
- 30. Состояние хранилища заявлений
спасибо за оповещение, пожалуйста, см. мой комментарий –