5 маленьких, но полезных библиотек React

Если вы, как и я, любите находить в каталоге NPM изюминки, способные улучшить ваш процесс разработки, то сегодня ваш счастливый день. Я расскажу вам о нескольких небольших малоизвестных библиотеках, которые я нашел и теперь использую ежедневно. Они избавят вас от многих приступов головной боли.

Итак, давайте начнем!

1. Urlcat

Urlcat — это крошечная JavaScript-библиотека, которая делает очень удобным построение URL и предотвращает распространенные ошибки.

Да, для построения URL можно использовать URL API. Но вам все равно придется позаботиться о некоторых деталях вместо того, чтобы просто создать URL.

Вот почему я люблю эту библиотеку. Вы ее подключаете, и она просто работает. Не нужно изучать сложные шаблоны или тратить часы на документацию.

Так что смело пробуйте: https://github.com/balazsbotond/urlcat.

2. UseHooks-ts

Если вы React-разработчик, то вы используете хуки (по крайней мере, я на это надеюсь). А раз так, то вам, вероятно, часто приходится создавать пользовательские хуки для всяких мелочей. Например, для обработки темного режима или для события изменения размера окна.

UseHooks — это небольшая библиотека с хорошо написанными, задокументированными и полностью типизированными (для пользователей TypeScript) хуками для всех этих вещей. Использование этой библиотеки позволит вам не отвлекаться на мелочи и сосредоточиться на самом проекте.

Ознакомиться с библиотекой можно здесь: https://github.com/juliencrn/usehooks-ts.

3. Logt

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

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

  • логи должны быть полностью типизированными (чтобы я мог использовать их в Typescript без лишней мороки)
  • они должны быть небольшими
  • у логов должны быть цветные ярлыки (чтобы я мог быстро определить тип лога)
  • мне нужны разные уровни логов
  • должна быть возможность скрывать некоторые логи в зависимости от условий (например, в продакшен-сборке)
  • должна быть возможность отправлять эти логи куда-то еще (например, в Sentry).

После долгих поисков подходящей библиотеки (и почти начав писать собственную), я нашел Logt, которая отвечает всем моим требованиям.

Рекомендую на 100%! https://github.com/sidhantpanda/logt.

4. Loadable Components

Если вы пытаетесь оптимизировать ваше приложение на React, вы, вероятно, используете React.lazy и Suspense для ленивой загрузки компонентов.

Это хорошо.

Но есть способы еще лучше! Например, библиотека Loadable Components. Очевидно, что в этой статье я не могу подробно объяснить, почему стоит перейти с React.lazy на эту библиотеку. Если интересно, вот отдельная статья на эту тему.

Несколько ключевых моментов: она поддерживает SSR (рендеринг на стороне сервера), Library Splitting (разделение библиотеки) и даже полный динамический импорт. Неплохо, да?

И самое главное. Библиотека действительно проста в использовании. Почти plug-and-play. Так что попробуйте! https://github.com/gregberge/loadable-components.

5. Emoji Mart

Работая над различными проектами, мне часто приходится иметь дело с эмодзи. Они сейчас используются повсеместно. И обычно мне приходится добавлять в проект какой-нибудь компонент для выбора эмодзи.

Это несложно. Но затем вы начинаете получать больше требований: он должен загружать эмодзи лениво, поддерживать интернационализацию, обеспечивать поиск, позволять использовать тот же текст запроса, что и Slack…

А это требует времени. Я могу это сделать. Но клиенты обычно предпочитают, чтобы я сосредоточился на самом проекте. Так что… я нашел эту маленькую библиотеку. Красивую и полезную.

Позвольте вам представить Emoji Mart! https://github.com/missive/emoji-mart.

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

Перевод статьи «5 Small and Hidden React libraries You Should Already Be Using».

[customscript]techrocks_custom_after_post_html[/customscript]

[customscript]techrocks_custom_script[/customscript]

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх