Найти в Дзене
ProWeb

React Utilities

Оглавление

Многие из frontend-разработчиков используют библиотеку React при создании сайтов и веб-приложений. На это есть много причин: виртуальная объектная модель документа, повторное применение компонентов, нисходящий поток данных, огромное сообщество, браузерные инструменты React-разработчика.

Все это делает разработку на React быстрой, приятной и удобной. Но что, если я вам скажу, что есть способ еще больше упростить разработку и легко решать проблемы с которыми вы сталкиваетесь ежедневно?Благодаря утилитам и npm-пакетам о которых я сегодня расскажу, ваша продуктивность при разработке на React возрастет в разы.

Меня зовут Антон. Я занимаюсь front-end разработкой и сейчас я расскажу вам об React Untils.

Работа с формами

-2

На каждом сайте для получения обратной связи от пользователя используется форма. Получение данных из формы, написание функций для проверки корректности введенных данных, и отправка ее на сервер часто занимает слишком много строчек кода. И нам повезло, если форма одна, но если их несколько? Тогда, нам придется повторно писать тот же самый код с минимальными изменениями. Мда, не круто

В этой ситуации нам поможет такая библиотека, как Formik.

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

У Formik простая и понятная документация, что помогает ему набирать популярность и завоевывать сердца разработчиков по всему миру.

-3

Также стоит отметить такие библиотеки, как React Hook Form и ReduxForm. Они так же позволяют упростить работу с формами в ваших React приложениях

Документация Formik

Документация Yup

Документация React Hook Form

Документация ReduxForm

Запросы на сервер

-4

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

А что если я вам скажу, что библиотека React Query решает все эти проблемы?

React Query - это библиотека для получения, кэширования, синхронизации и обновления "серверного" состояния в React-приложениях. Ключевые концепции, которые лежат в основе React Query это:

  • Запросы (queries)
  • Мутации (mutations)
  • Инвалидация (аннулирование, признание недействительным) запроса (query invalidation), и его кэша
-5

Документация React Query

Роутинг

-6

React - это широко используемая библиотека для client-side веб-приложений. Часто бывает такое, что веб-приложение не ограничивается одной страницей. И в таком случае нам необходимо создавать роутинг для нашего приложения. Правильный роутинг ссылок и загрузка разных страниц в зависимости от параметров заданных маршрутов - главное требование для буквально любого приложения.

Существует отличный npm пакет, который берет на себя все сложности роутинга на React. Это react-router — одна из самых используемых библиотек в React.

React Router это стандартная библиотека маршрутизации (routing) в React. Он хранит интерфейс приложения синхронизированным с URL в браузере. React Router позволяет вам маршрутизировать "поток данных" (data flow) в вашем приложении понятным способом. Понятная документация с большим количеством примеров и изобилие видео на Youtube поможет вам с легкостью освоить эту библиотеку.

-7

Документация React Router

Работа со стейтом

-8

Состояние, или state, — это концепт, который обычно используют в сложных программах. Большое приложение содержит много данных, которые в любой момент могут потребоваться тому или иному компоненту.

Компоненты могут общаться напрямую, но в сложной программе реализовывать такой подход неудобно. Необходимо дописывать каждую функцию. А это загромождает код.

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

Управление помогает сделать работу объекта логичной. Для этого существуют различные менеджеры состояния, или по другому - state managers. Одним из таких и является Redux

-9

Основные плюсы Redux

  • помогает в управлении состоянием приложения, работающего с большим количеством данных;
  • удобные замены встроенных средств работы с состоянием в React;
  • более легкое масштабирование приложения, его преобразование под разные задачи;
  • избавление от ошибок, связанных с беспорядком в объекте состояния;
  • предсказуемость и понятность работы приложения;
  • более простая отладка и доработка;
  • повышенная производительность и работоспособность программы.

Также в качестве альтернативы Redux есть Mobx. Он более прост в освоении для новичка. Мне самому первое время было трудно понять Redux и то, как он работает. Если и вы сталкиваетесь с такой проблемой, то напиши об этой в комментариях и я подробно разберу Redux на своем канале.

Документация Redux

Документация Mobx

#it #web #frontend #proweb #react #redux #code #javascript #программирование