Руководства
Обновление работающего NavigationGraph
Установка и удаление необязательного функционального модуля с явной обработкой Entry, теряющих Route Definition.
Обновление работающего NavigationGraph
NavigationRuntime применяется, когда несколько Session должны получить единое изменение Graph.
1. Запустите стабильный Graph
Создайте Runtime из корневого Graph приложения, затем получите через него основную Session. Стек остаётся собственностью Session.
2. Установите функциональный модуль
Вызовите runtime.updateGraph и добавьте Module и Mount через NavigationGraphBuilder. Полный новый Graph проверяется до изменения любой Session.
3. Выполните обычный переход
После фиксации новый Destination разрешается через тот же NavigationPort; интерфейс сгенерированного Router обновлять не требуется.
4. Выберите поведение при удалении
Удаление Module с активными Entry требует стратегии. RejectActiveNavigationEntries сохраняет старый Graph. RemoveActiveNavigationEntries завершает Entry. MigrateActiveNavigationEntries преобразует их в совместимые типизированные Target.
5. Проверьте все Session
Runtime фиксирует одну проверенную транзакцию Graph для всех Session. Ошибка не оставит разные окна на частично обновлённых определениях.