Полное руководство по Recoil (часть 2)

Вступление

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

Официальный статус разработки Recoil devtool

Многие из нас полюбили Redux devtools из-за его мощной способности прыгать во времени, а также его интуитивно понятного интерфейса. Теперь, когда Recoil постепенно приближается к стабильному выпуску, его шумиха продолжает расти и заставляет многих задуматься, стоит ли им интегрировать Recoil как часть своей архитектуры управления состоянием.

Хотя команда Recoil признала, что внутри Facebook разрабатывается инструмент для разработки, официального объявления о выпуске не было.

Какие есть инструменты?

Сообщество разработчиков ПО с открытым исходным кодом быстро вмешалось и сделало все возможное, чтобы заполнить текущий пробел в пространстве. Однако трудность заключается в относительно новом характере этой библиотеки управления состоянием - то есть в отсутствии документации, быстро развивающихся функций и отсутствии поддержки. В настоящее время нет доступных ресурсов, которые объединяли бы и без того фрагментированную экосистему, и эта статья надеется облегчить эту проблему.

Инструменты разработчика Recoil с открытым исходным кодом перечислены ниже.

Reactime:

  • Reactime имеет функции перемещения во времени, аналогичные функциям Redux devtools, но работает с более разнообразным набором библиотек управления состоянием React и предлагает более полнофункциональный набор визуализаций.
  • Обеспечивает полную возможность сохранения состояния приложения посредством обновления или перезагрузки страницы, с полнофункциональными функциями после обновления.
  • Отслеживайте историю во время путешествия во времени / вносите новые изменения в состояние, а также возможность имитировать любое изменение состояния из истории в DOM одним нажатием кнопки.
  • Визуализация потоков данных от атомов к селекторам и компонентам.

Отдача:

  • Recoilize - это простой в использовании пакет NPM, предназначенный для помощи в отладке приложений, созданных с помощью библиотеки Recoil.
  • Возможность путешествий во времени с обновленным алгоритмом, обеспечивающим точную отладку путешествий во времени
  • Сетевой граф атомов и селекторов для визуализации зависимостей состояний
  • График компонентов, который позволяет разработчикам быстро различать компоненты с сохранением состояния и без него, показывая зависимости от атомов, селекторов или того и другого.
  • Если вас также интересует экспериментальный Concurrent Mode Reacts, на графике компонентов будет показано, был ли компонент приостановлен в использовании Concurrent Mode.

Возможные пробелы в текущих инструментах разработки

Несмотря на то, что Reactime и Recoilize обладают надежными функциями, которые они содержат, все еще есть место для других инструментов разработки, которые могут внести значительный вклад в экосистему. Один из таких пробелов касается инструментов, которые могут использовать API Recoil для извлечения состояния. Еще одна ценная функция для улучшения способности разработчиков отлаживать - это возможность поиска / фильтрации по списку атомов или селекторов по имени.

Заключение

Так как же выглядит будущее Recoil? Если честно, выглядит неплохо! Recoil, кажется, действительно подбодрил сообщество.

По мере приближения к официальному выпуску, я считаю, что больше разработчиков начнут тестировать библиотеку. Хотя официальные инструменты разработки еще предстоит определить, очень многообещающе, насколько быстро сообщество разработчиков ПО с открытым исходным кодом смогло вмешаться и заполнить пробел.

Авторы: Крис Гиззетти, Джейсон Виктор, Санджай Лавинья, Александр Ландерос и Винсент Нгуен