Как стать автором
Обновить
31.64

ReactJS *

JavaScript-библиотека для создания интерфейсов

Сначала показывать
Порог рейтинга
Уровень сложности

Пробую новые возможности Next.js 13

Уровень сложности Средний
Время на прочтение 26 мин
Количество просмотров 806
ReactJS *
Туториал

Всех приветствую и желаю приятного чтения!

Next.js это fullstack фреймворк разработанный Vercel использующий последние разработки React.

Не так давно 25 октября 2022 года вышла версия 13. На данный момент последняя стабильная версия 13.2.3, и новые возможности все еще находятся в стадии бета теста, и не рекомендуется использовать в продакшен.

13 поддерживает все возможности версии 12. Для тестирования новых возможностей используется специальная директория app. Такой подход помогает попробовать новые возможности, в проектах, которые работали на версии 12.

В этой статье я пробую использовать только новые возможности версии 13, кому интересно больше узнать о Next.js рекомендую: Next.js: подробное руководство. Итерация первая.

Читать далее
Рейтинг 0
Комментарии 0

Новости

Module Federation — что скрывается под кажущейся простотой

Уровень сложности Средний
Время на прочтение 11 мин
Количество просмотров 1.2K
Разработка веб-сайтов *JavaScript *HTML *ReactJS *
Туториал
Из песочницы

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

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

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

Начнем!

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 0

Заметка о хуке useSyncExternalStore

Уровень сложности Сложный
Время на прочтение 7 мин
Количество просмотров 1.5K
Блог компании Timeweb Cloud Разработка веб-сайтов *JavaScript *ReactJS *TypeScript *
Обзор
Перевод


Hello, world!


Представляю вашему вниманию перевод этой замечательной статьи.


useSyncExternalStore — это один из хуков, представленных в React 18. Наряду с хуком useInsertionEffect, он считается хуком для библиотек (library hook):


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


В списке изменений React 18 речь также идет о библиотеках:


Добавлен useSyncExternalStore для помощи в интеграции с React библиотек внешних хранилищ (external store libraries)

Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 0

Перевод первой части учебника Patterns.dev

Время на прочтение 11 мин
Количество просмотров 4.7K
JavaScript *ООП *ReactJS *
Перевод

Привет! Меня зовут Айнур, и я frontend-разработчик SimbirSoft. Более 6 лет я работаю над коммерческими проектами, создаю и улучшаю интерфейсы, поэтому в работе достаточно часто использую паттерны проектирования. Неоднократно я обращался за идеями и лайфхаками к книге Patterns.dev, которая содержит очень современный взгляд на шаблоны проектирования, рендеринга и производительности JavaScript.

Авторы Patterns.dev:

Лидия Холли — штатный консультант и преподаватель по разработке программного обеспечения, которая в основном работает с JavaScript, React, Node, GraphQL. Она также занимается наставничеством и проводит личные тренинги.

Эдди Османи — технический менеджер, работающий над Google Chrome. Его команды работают над такими проектами, как Lighthouse, PageSpeed ​​Insights, Chrome User Experience Report и другими.

Материал книги будет полезен не только React-разработчикам, но и всем, кто так или иначе интересуется или сталкивается с frontend-разработкой.

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

Источник: https://www.patterns.dev/
Данный адаптированный материал распространяется на условиях лицензии Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 3

Истории

Работаем с таблицами с помощью React Table

Уровень сложности Сложный
Время на прочтение 24 мин
Количество просмотров 1.5K
Блог компании Timeweb Cloud Разработка веб-сайтов *JavaScript *ReactJS *TypeScript *
Обзор


Привет, друзья!


В этом туториале я покажу вам несколько полезных приемов по работе с таблицами с помощью React Table.


React Table — одна из самых популярных на сегодняшний день библиотек экосистемы React для манипулирования табличными данными. Однако это далеко не самое простое в изучении и использовании решение, поэтому хорошо подумайте, прежде чем добавлять его в свой проект.


Мы последовательно реализуем 5 вариантов таблицы:


  • с возможностью сортировки строк;
  • с возможностью фильтрации строк;
  • с пагинацией;
  • с возможностью выбора строк;
  • комплексную.

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


Предполагается, что вы имеете некоторый опыт работы с React и TypeScript.


Для тех, кого интересует только код, вот ссылка на соответствующий репозиторий.


Интересно? Тогда прошу под кат.

Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 4

Работа с i18n — автоматизация Google Translate и другие полезные советы

Уровень сложности Средний
Время на прочтение 2 мин
Количество просмотров 1.6K
Разработка веб-сайтов *JavaScript *Google API *ReactJS *VueJS *

NPM-пакет для интернационализации i18n используется на фронтэнде для создания мультиязычных вебсайтов очень часто. Перевод текста в нем содержится обычно в json или в js файлах, и требует дальнейшей обработки, чтобы с ним с комфортом могли работать контент-редакторы. В статье описывается как максимально упростить и сделать удобным хранение и внесение изменений в перевод.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 6

Хранение токена доступа в сервис-воркере

Уровень сложности Средний
Время на прочтение 14 мин
Количество просмотров 2.1K
Блог компании Timeweb Cloud Разработка веб-сайтов *JavaScript *ReactJS *TypeScript *
Кейс


Привет, друзья!


На днях прочитал эту интересную статью, посвященную различным вариантам хранения токена доступа (access token) на клиенте. Мое внимание привлек вариант с использованием сервис-воркера (service worker) (см. "Подход 4. Использование service worker"), поскольку я даже не задумывался о таком способе применения этого интерфейса.


СВ — это посредник между клиентом и сервером (своего рода прокси-сервер), который позволяет перехватывать запросы и ответы и модифицировать их тем или иным образом. Он запускается в отдельном контексте, работает в отдельном потоке и не имеет доступа к DOM. Клиент также не имеет доступа к СВ и хранимым в нем данным. Как правило, СВ используется для обеспечения работы приложения в режиме офлайн посредством кэширования критически важных для работы приложения ресурсов.


В этой статье я покажу, как реализовать простой сервис аутентификации на основе JSONWebToken и HTTP Cookie с хранением токена доступа в сервис-воркере.


Для тех, кого интересует только код, вот ссылка на соответствующий репозиторий.


Интересно? Тогда прошу под кат.

Читать дальше →
Всего голосов 16: ↑15 и ↓1 +14
Комментарии 2

Что должен уметь Frontend разработчик в 2023 году (+Roadmap)

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 20K
Разработка веб-сайтов *JavaScript *Интерфейсы *ReactJS *TypeScript *
Из песочницы

С каждым годом войти в IT становится всё труднее. За счёт высоких зарплат, комфортного образа жизни, амбиций, потребности в специалистах, сейчас чуть ли не каждый второй хочет стать программистом. За счёт этих факторов, рынок труда в IT перенасыщается, из-за чего потребности в навыках специалистов тоже выросли. Теперь от разработчиков даже требуют уметь программировать, я знаю, это ужасно...

Это не говорит о том, что сейчас в IT идти смысла нету, этот факт лишь говорит о том, что повысилась конкуренция. Я лично считаю, что такая ситуация наоборот благосклонно влияет на весь мир в целом, так как конкуренция порождает прогресс. А для вас это дополнительный стимул стать еще более востребованным специалистом и сильной личностью.

Читать далее
Всего голосов 14: ↑1 и ↓13 -12
Комментарии 23

React Spectrum — создание компонентов нового поколения

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 6.1K
JavaScript *ReactJS *
Обзор
Из песочницы

Устали писать логику для компонентов, которая из раза в раз повторяется?

React Spectrum знает как это решить!

Читать далее
Всего голосов 10: ↑7 и ↓3 +4
Комментарии 17

Полное руководство по Remix. Часть 1

Уровень сложности Средний
Время на прочтение 50 мин
Количество просмотров 1.8K
Блог компании Timeweb Cloud Разработка веб-сайтов *JavaScript *ReactJS *TypeScript *
Обзор


Привет, друзья!


В этой серии статей я расскажу вам о Remix — новом фреймворке для создания клиент-серверных веб-приложений на JavaScript (точнее, на React) со встроенной поддержкой TypeScript.


Remix позволяет разрабатывать так называемые PESPA (Progressive Enhancement Single Page Apps — одностраничные приложения с возможностью прогрессивного улучшения). Это означает следующее:


  • почти весь код приложения "живет" на сервере;
  • приложение остается функциональным даже при отсутствии JS;
  • JS используется только для прогрессивного улучшения UX (User Experience — пользовательский опыт).

Подробнее о PESPA и других архитектурах веб-приложений можно почитать здесь.


Очевидно, что разработчики Remix вдохновлялись Next.js и Svelte.


К слову, здесь вы найдете полное руководство по Next.js.


В первой части мы пройдемся по руководствам из официальной документации, во второй — более подробно рассмотрим возможности, предоставляемые Remix, в третьей — разработаем что-нибудь интересное.


Это часть номер раз.

Читать дальше →
Всего голосов 16: ↑15 и ↓1 +14
Комментарии 1

Вдали от Webpack, или Как мы в Dodo микрофронтенды на Vite переводили

Уровень сложности Средний
Время на прочтение 11 мин
Количество просмотров 3.2K
Блог компании Dodo Engineering Разработка веб-сайтов *Программирование *ReactJS *
Кейс

С первой частью рассказа о микрофронтендах в Dodo можно ознакомиться тут

Мы спокойно сидели и пилили новый проект на нашем устоявшемся стеке (React + TypeScript + Webpack + SingleSPA + SystemJS + Jest). Пока одним прекрасным утром не пришел наш техлид и такой: «Чуваки, а давайте затащим Vitest!».

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Комментарии 8

За что мы любим Go, Ruby, React Native, ReactJS и Redux

Время на прочтение 5 мин
Количество просмотров 2.2K
Блог компании СберМаркет Ruby on Rails *Go *ReactJS *
Мнение

Привет! Это tech-команда СберМаркет. Сегодня кто-то празднует день влюбленных, а для нас с вами это ещё и профессиональный праздник — день компьютерщика. Если совместить два повода, получим день влюблённых в компьютеры. Кто-то любит копаться в железе, кто-то в программах. Кто-то пишет библиотеки, а кто-то их использует. Но все мы не равнодушны, иначе нас бы здесь не было. Эта статья — любовное письмо языкам, фреймворкам и библиотекам, которые крутятся у нас под капотом — Go, Ruby, React, React Native, Redux.

Читать далее
Всего голосов 10: ↑5 и ↓5 0
Комментарии 9

Понимание архитектуры Astro островов

Время на прочтение 7 мин
Количество просмотров 618
Блог компании OTUS ReactJS *
Перевод

В настоящее время мы все привыкли видеть появление новых фреймворков, которые обещают произвести революцию в сфере веб-разработки. Тем не менее, чаще всего мы остаемся привязанными к конкретной библиотеке пользовательского интерфейса (React, Vue, Svelte и т.д.) для определения наших компонентов и создания пользовательского опыта.

На этот раз ситуация поменялась! Используя возможности Vite.js, мы получили Astro: агностический фреймворк, который может работать как SSG (генератор статических сайтов) и обеспечивать SSR (рендеринг на стороне сервера).

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 0

Управление подписками: много слов о потоках, отписках и утечке памяти

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 1.3K
Блог компании Мир Plat.Form (НСПК) JavaScript *Angular *ReactJS *VueJS *
Туториал

Управление подписками — с первого взгляда несложная тема, которая, однако, вызывает у многих проблемы на фронте. Под катом я собрал собственные наблюдения о том, как грамотно выстроить работу с подписками без утечек памяти, увеличения времени загрузки элементов и колоссальных трат бюджета.

За основу я взял библиотеку RxJs, работающую с фреймворком Angular. Однако любителям остальных фреймворков, возможно, это тоже пригодится.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 2

Хуки в React — как надо, когда не надо и нужны ли свои?

Уровень сложности Средний
Время на прочтение 14 мин
Количество просмотров 1.8K
Блог компании Учи.ру ReactJS *
Из песочницы

В 16.8 версии библиотеки React впервые появились хуки (hooks) — функции, которые упрощают работу с компонентами React и переиспользованием какой-либо логики. В экосистеме React уже есть много дефолтных хуков, но также можно создавать и свои. Я Михаил Карямин, фронтенд-разработчик в Учи.ру, расскажу, как и в каких случаях хуки в React облегчают жизнь разработчику и как с ними работать.

Читать далее
Всего голосов 9: ↑5 и ↓4 +1
Комментарии 2

Найди себя в React

Время на прочтение 1 мин
Количество просмотров 16K
Блог компании Московский кредитный банк JavaScript *Программирование *ReactJS *Карьера в IT-индустрии
Мегапроект

Хотя в IT и разработана шкала оценки программистов (Trainee, Junior, Middle, Senior, Tech Lead), с которой более или менее все согласны, единого определения каждого уровня среди работодателей пока нет. В итоге каждая компания устанавливает собственные требования к навыкам на каждом уровне.

Этот тест поможет вам прикинуть, какой бы у вас был грейд, если бы вы собеседовались в МКБ.

Пройти тест
Всего голосов 44: ↑40 и ↓4 +36
Комментарии 28

Общие шаблоны и нюансы использования React Query

Время на прочтение 6 мин
Количество просмотров 4.2K
JavaScript *ReactJS *
Туториал
Перевод

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

Одним из простых в реализации, но иногда сложных в использовании инструментов является react-query — мощная библиотека для асинхронного управления состоянием. Простота реализации делает его желанным выбором для написания логики состояния компонентов.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 1

Микровселенная безумия, или Как устроены микрофронтенды в Dodo

Время на прочтение 10 мин
Количество просмотров 3.5K
Блог компании Dodo Engineering Разработка веб-сайтов *ReactJS *
Обзор

«Микрофронтенды в компании, которая доставляет пиццу? Серьёзно? Зачем? Да и куда? У вас же всего лишь приложенька с каталогом и заказом товара. Какие ещё микрофронтенды?»

Одно из самых распространённых заблуждений о том, что в Dodo до микрофронтендов не доросли. Но сегодня я постараюсь его развеять и рассказать, как мы докатились до такой жизни и какой путь при этом был пройден. Усаживайтесь поудобнее, мы начинаем наш рассказ.

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 6

React, всплывающие подсказки (tooltips), для самых маленьких

Время на прочтение 11 мин
Количество просмотров 4.6K
CSS *JavaScript *ReactJS *TypeScript *
Туториал
Recovery mode

Во множестве проектов web разработки для улучшения пользовательского опыта используются всплывающие подсказки - tooltips. В статье рассматривается создание переиспользуемого и гибко настраиваемого React компонента для отображения таких всплывающих подсказок.

К статье
Всего голосов 2: ↑1 и ↓1 0
Комментарии 16

Как я написал самую эффективную библиотеку для реактивного состояния

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 9.1K
Блог компании RUVDS.com JavaScript *ReactJS *

Всем привет, меня зовут Артём Арутюнян, и я уже пять лет изучаю реактивное программирование. Меня задела недавняя статья, Big State Managers Benchmark, в которой моя библиотека Reatom заняла лишь третье место (скорее второе, ну да ладно) и я решил написать самую эффективную реализацию реактивных состояний, убрав лишние фичи, сфокусировавшись на простоте и производительности.

Немного поэкспериментировав я добился удивительных результатов, в сто строк (0.3KB gzip) уместив максимально простое апи, которое позволяет подключаться к React и Svelte без дополнительных адаптеров. Но самое главное, найденный алгоритм фундаментально покрывает любые краевые случаи условных переподписок зависимых вычислений, с которыми подавляющее большинство популярных библиотек не справляется и дают глитчи.

Если вам интересны детали реализации — прошу под кат.
Читать дальше →
Всего голосов 72: ↑72 и ↓0 +72
Комментарии 31

Вклад авторов

Работа