Skip to content

Обзор и назначение


1.0.0Размер (core + integration): 1.78 KB + 0.33 KBПокрытие: 94.93 % в 498 тестах

При использовании MobX, реактивности Vue, сигналов Solid.js и других реактивных систем сложно поддерживать синхронизацию с нереактивными роутерами, которые часто привязаны к UI или структуре файлов.

Для решения этой проблемы был создан Reactive Route, работающий с любыми реактивными библиотеками и фреймворками, что значительно облегчает работу с разными стеками.

Доступны готовые интеграции для:

Преимущества

Библиотека следует строгой философии — минимальный размер, максимальная типизация, обязательная валидация URL-параметров, отказоустойчивость и поддержка SSR / Widget / MPA режимов.

Reactive Route — это отдельный слой роутинга, побуждающий не разбрасывать конфигурацию по файлам и компонентам. В нем нет редиректов по частичным путям и вложенности роутов, что позволяет использовать статический анализ TypeScript (а значит — автоматический рефакторинг, быстрые переходы и автодополнение + стабильную генерацию с помощью ИИ моделей).

Дерево компонентов в проекте остается чистым, а на структуру папок и имена файлов не накладывается ограничений.

Асинхронные методы beforeEnter и beforeLeave позволяют контролировать доступ и загружать данные в сторы, а beforeComponentChange - проектировать модульные архитектуры с поддержкой code-splitting не только для компонентов страниц, но и для других сущностей (и "разрушать" их при переходе на другие страницы), с бесшовной поддержкой SSR.

Тщательно спроектированная поддержка реактивности позволяет писать приложения с гранулярными ререндерами, не сталкиваясь с неконсистентностью вызова реакций и механизмов mount / unmount UI фреймворков при изменении состояния маршрута.

Поддержка браузеров

Reactive Route использует Dual Packaging (CJS и ESM автоматически выбираются исходя из конфигурации проекта) для максимальной совместимости. Для работы без полифиллов необходимы как минимум Chrome 49, Firefox 29, Safari 10.1 и Node.js 10 если используется SSR, из-за необходимости наличия URLSearchParams.

Вы можете сразу перейти к Примерам для вашего стека или следующей секции документации для ознакомления со схемой работы библиотеки.

No AI participated in the development. MIT License