Рубрики
Без рубрики

Как допустить как хакер с Mobx и Router5

Eugen Kiss Как маршрутить как хакер с Mobx и Router5Routing, который соответствует вашему приложению – не наоборот, а не на самых популярных рублях. Каркас, такие как Android, обеспечивают мощные, но и сложные, а иногда и ограничительные механизмы маршрутизации. То

Автор оригинала: FreeCodeCamp Community Member.

Eugen Kiss.

Маршрутизация, которая соответствует вашему приложению – не наоборот

Есть много способов приблизиться к маршрутизации в клиентских приложениях. Каркас, такие как Android, обеспечивают мощные, но и сложные, а иногда и ограничительные механизмы маршрутизации. То же самое относится и к полноценным библиотекам маршрутизации в аналогичной маршрутизаторе React React.

Хорошая новость заключается в том, что вы можете написать свой собственный слой маршрутизации, который проще, не отказываясь от управления: Маршрутизация, которая соответствует вашему приложению -А не наоборот!

Чтобы проиллюстрировать эти концепции, давайте напишем приложение Hackernews и Возьмите под контроль маршрутизацию Отказ Мы будем использовать Реагировать , MobX и Маршрутор5 Отказ

Это жить результат:

Пример использует HNPWA API Отказ Вот проект GitHub Отказ

Давайте начнем с определения Кормить маршрут:

Свойства Имя , путь и комп очевидны. С ссылка У вас есть Тип-обратная маршрутизация. В функции жизненного цикла активировать , вы обновляете глобальное состояние и выполните запросы API. Зависимость магазин Ваше центральное государственное управление и панель управления действием. В последней строке вы добавите FeedRoute в ваш реестр маршрута маршруты Отказ

Прохладная вещь о FeedRoute Это Все актуально для маршрутизации до/из Кормить экран определен в одном месте Отказ Кроме того, вам не нужен контейнерный компонент для выполнения запросов API.

Вот как вы визуете текущий маршрут:

Наблюдаемая недвижимость Store.route Содержит текущий маршрут. В вашем регистре маршрута Store.routes Вы находите соответствующее определение маршрута. Итак, вы знаете, какой компонент представляет. Если вы на / Компонент будет N/>. Будучи весом Рвес R, приложение Rerenders всякий раз, когда наблюдатель Vable Store .route меняется.

Это цик!

Настроить его

Как вы устанавливаете все это с помощью MobX и Маршрутор5 ? Кто обновляет текущий маршрут? Что делает магазин выглядит как? Чтобы узнать, читать дальше!

В стороне : Хотя библиотека маршрутизации не требуется, я рекомендую маршрутизатор5. Это дает вам более удобные API (+ крючки и утилиты), чем родной браузера.

Определение плагина маршрутизации5:

А Router5 Plugin реализует функции жизненного цикла. На успешном переходе вы деактивируете предыдущий маршрут. Тогда вы устанавливаете Store.route на следующий маршрут и активируйте следующий маршрут. Деактивация выполняет очистку. Активация выполняет запросы API и другая логика инициализации. Остальная часть кода является API маршрутизатора5.

Вот соответствующие части от магазин :

Выбранная подача получена из URL. Там нет дублирования государства благодаря Мощность распространения Mobx !

В стороне : Я использую специальную полученную помощницу, которая будет темой для другой статьи.

В моем собственном Hackernews Client ( Live ), стек истории отслеживает посещенные маршруты. Используется для визуализации экранов друг на друга. Все, кроме максимального экрана имеют Дисплей установить Нет Отказ Это возвращает на предыдущий экран на мобильных устройствах намного быстрее !

Мой роутер также выполняет просмотр состояния восстановления. Думайте позицию прокрутки. Но вы можете просто держать его как минимум, как показано здесь. Помните, вы контролируете маршрутизацию: сделайте это, лучше всего подходит для вашего приложения. Смотрите также React Rears’s Реставрация прокрутки Обсуждение и маршрутизатор5’s Загрузка Async Data дикуссия.

Представленный подход вдохновлен:

Если вам понравилось эту статью, пожалуйста, порекомендуйте и поделитесь. Счастливая маршрутизация!