В документации по реактивной навигации есть специальный раздел Могу ли я сохранить состояние навигации и в Redux?.
В нем говорится:
Это невозможно. Мы не поддерживаем это, потому что слишком легко выстрелить себе в ногу и замедлить/сломать ваше приложение.
Я полагаю, что это было хорошо изучено командой реактивной навигации и сообществом. Наличие таких вопросов, как этого на SO, предполагает, что это было в какой-то момент поддерживался, но по какой-то причине должен был считаться повсеместно плохим.
Я хотел бы знать следующее: почему сохранение состояния навигации в Redux является плохой практикой?
Ответ может быть в следующем виде:
- определенные сценарии, в которых сохранение состояния навигации в Redux приводило к дополнительным ошибкам/сложности
- теоретическое объяснение, почему состояние навигации несовместимо с хранилищем Redux (например, его трудно сделать неизменяемым)
- ссылки/выдержки из выпусков GitHub, которые демонстрируют, как именно было принято решение не советовать хранить состояние навигации в Redux
- ...что-нибудь еще, что заставило бы читателя сказать о, блин, как я мог не подумать об этом :)
Я не смог найти хорошего объяснения с помощью быстрого поиска, и я решил, что этот вопрос будет хорошим ориентиром для таких же любопытных людей, как я. Должен признаться, что у меня часто возникает соблазн реализовать какой-то обходной путь для этого, просто чтобы хранить все в одном месте (например, чтобы можно было воспроизвести для целей отладки).