Как стать автором
Обновить
55.79
Рейтинг

ReactJS *

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

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

Пять докладов для фронтендера

Блог компании ЮMoney JavaScript *ReactJS *Карьера в IT-индустрии

Всем привет!

Делимся полезными материалами с недавно прошедшего митапа Frontend Mix, где экперты ЮMoney и Альфа Банка рассказали, как они создают продукт. 

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

Новости

Перевод документации React-redux и проблемы переводчиков

Open source *JavaScript *Профессиональная литература *ReactJS *Учебный процесс в IT

Я решил перевести документацию react-redux, позвал напарника, и мы вместе решали проблемы, связанные с этим. Собственно, о проблемах и решениях пойдёт речь.

Ссылка на перевод

Кратко: поговорили с авторами библиотеки, развернули перевод на github-pages, получили домен, получаем обновления через свой сервер и хотим внимания)

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Просмотры 619
Комментарии 1

Control flow with try/catch and Promises

Разработка веб-сайтов *JavaScript *Интерфейсы *ReactJS *

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



Так вот как то раз смотря документацию Relay я наткнулся на мысль, что не понимаю, как работает связка Relay.useLazyLoad и React.Suspense.


В частности не понятно, как именно React.Suspense понимает, что вот прямо сейчас происходит асинхронный запрос и самое время отрисовывать fallback?

Читать дальше →
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 1.1K
Комментарии 2

История о том как я переехал в США и искал тут работу. Офферы от MAANG и не только

JavaScript *ReactJS *IT-эмиграция Карьера в IT-индустрии IT-компании

В феврале 2022 года я наконец переехал в США по рабочей визе О1. Этому предшествовало 2.5 года работы над укреплением кейса, ожидание аппрува.

За 1.5 года до этой даты я начал готовиться к интервью на позицию Front End. Сейчас работаю Senior Front-End Engineer в Roku.

Мотивацией для данного поста и создания телеграмм канала по интервью Front-End инженеров стало отсутсвие подробной информации о том, как же выглядит этот процесс в США.

Читать далее
Всего голосов 36: ↑32 и ↓4 +28
Просмотры 6.7K
Комментарии 21

Визуализация алгоритмов сортировки

Блог компании Домклик JavaScript *Алгоритмы *Визуализация данных *ReactJS *
Tutorial

Приветствую всех, уважаемые читали! Меня зовут Сергей Семенов, я frontend-разработчик в компании Домклик. Эта статья посвящена созданию интерактивного приложения для визуализации алгоритмов сортировки. Надеюсь, многим из вас тема покажется интересной. Уверен, что вы успешно пройдёте через все этапы разработки и пополните свою копилку пет-проектов.

Читать далее
Всего голосов 26: ↑26 и ↓0 +26
Просмотры 8.7K
Комментарии 5

Под капотом у Mobx. Пишем свою реактивную библиотеку с нуля

JavaScript *ООП *ReactJS *
Из песочницы

Первое мое знакомство с Mobx началось с удивления. Я не понимал всю магию библиотеки и задавал себе вопрос: “А как это возможно?”. Кажется, в ней используются какие-то подкапотные возможности JS или Mobx вообще написан на другом языке. 

И вот, потратив 3 месяца в исходниках, я развеял для себя магию. Mobx все таки написан на JS и даже имеет множественные ограничения, которые нужно соблюдать, чтобы ваш браузер не взорвался.

В этой статье мы создадим свой Mobx с нуля, а так же свяжем его с React, через собственно написанный HOC observer. В конце у вас будет общее понимание реактивности, которое поможет в самостоятельном осмыслении не только Mobx, но и других реактивных библиотек и фреймворков.

Читать далее
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 4.8K
Комментарии 8

Основные изменения React 18

Блог компании Домклик ReactJS *

Привет, меня зовут Кристина, я фронтенд-разработчик в Домклик. Хочу рассказать немного про основные изменения React 18.

Читать далее
Всего голосов 27: ↑27 и ↓0 +27
Просмотры 6.5K
Комментарии 3

React: разрабатываем кастомный useEffect

Блог компании Timeweb Cloud Разработка веб-сайтов *JavaScript *ReactJS *


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


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


Предполагается, что вы хорошо знакомы с тем, как работает хук useEffect, а также с тем, когда и почему происходит повторный рендеринг React-компонентов. Если нет, вот парочка ссылок:



Этого должно быть достаточно для понимания того, о чем мы будем говорить. В дальнейшем будет приведено еще несколько ссылок для более глубокого погружения в тему.


Код проекта, с которым мы будем работать, можно найти здесь.


Начнем с примера.

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

On-Demand ISR в Next.js или как эффективно обновлять статический контент на сайте, поступающий из CMS или админки

Разработка веб-сайтов *ReactJS *TypeScript *
Из песочницы

В этой статье я расскажу, как и для чего, на одном из своих проектов, мы прикрутили новую возможность Next.js – On-Demand ISR (инкрементная статическая регенерация по запросу).

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

Пишем продвинутый планировщик с использованием React, Nest и NX. Часть 2: аутентификация

Блог компании Домклик Node.JS *MongoDB *ReactJS *TypeScript *
Tutorial

Друзья, всем привет! Меня зовут Игорь Карелин, я frontend-разработчик в компании Домклик. В прошлой части мы разобрались, как настроить и запустить проект, а сегодня продолжим создавать наш планировщик и поэтапно разберём создание аутентификации с помощью библиотеки Passport.

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 1.9K
Комментарии 2

Как повысить скорость разработки с помощью общедоступных функций JavaScript

Блог компании Россельхозбанк Разработка веб-сайтов *JavaScript *Совершенный код *ReactJS *
Перевод

Практическое руководство по написанию лаконичного кода и повторному использованию вспомогательных функций JS в проектах.

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

Синтаксический сахар в Redux: Type to reducer и Redux toolkit для самых маленьких

Блог компании Maxilect Разработка веб-сайтов *JavaScript *ReactJS *

Сегодня рассказ пойдет о двух удобных способах сократить рутину в Redux, которые мы используем в разных частях собственного проекта. Речь пойдет о малоизвестной библиотеке Type to reducer и довольно функциональном Redux toolkit. Почему нам было трудно жить с чистым Redux, зачем нужны вспомогательные инструменты и как они облегчают жизнь, читайте под катом.

Статья написана по итогам внутреннего митапа для нефронтендеров, проходившего пару месяцев назад, и рассчитана не только на тех, кто в теме.

Читать далее
Всего голосов 11: ↑7 и ↓4 +3
Просмотры 1.1K
Комментарии 4

Продвинутые хуки в React: всё о UseEffect

Блог компании Россельхозбанк Разработка веб-сайтов *JavaScript *ReactJS *
Перевод

В этой статье рассмотрим советы и приёмы, которые помогут более профессионально написать код на React.

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

Как мы переходили на React-router v6: подводные камни и альтернативы

Блог компании Альфа-Банк JavaScript *Программирование *ReactJS *
Tutorial

Мы перешли на шестую версии React-router. Это помогло нам решить несколько проблем, например, определение маршрутов в Switch рендерит точный маршрут, а не первое совпадение, а размер бандла уменьшился в 2 раза.  

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

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 2.6K
Комментарии 13

Девять порочных практик React. Разбираем частые ошибки

Блог компании МойОфис JavaScript *ReactJS *
Перевод

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

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

Под катом — наш перевод статьи*, в которой Патрик сосредоточился на отрицательных примерах: некоторых из худших React-практик, которые он когда-либо видел (а возможно даже использовал сам). Материал призван помочь вам избежать подобных ошибок в будущем.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее
Всего голосов 49: ↑48 и ↓1 +47
Просмотры 13K
Комментарии 20

Skia — высокопроизводительная 2D графика для React Native

Разработка мобильных приложений *ReactJS *Flutter *
Tutorial

Пользователям Flutter не понаслышке знаком такой проект как Skia. Он является движком для рендеринга всего что мы видим на экране Flutter. С помощью Skia можно рисовать очень сложные элементы интерфейса да и в целом любые 2D сцены с поддержкой плавной анимации и различных эффектов. Так почему бы не взять это на вооружение, подумали ребята из Shoppify и выпустили React Native Skia - библиотеку позволяющую использовать Skia в экосистеме React Native.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 2.1K
Комментарии 7

React: разрабатываем HOC и хук для наблюдения за элементами

Блог компании Timeweb Cloud Высокая производительность *Разработка веб-сайтов *JavaScript *ReactJS *


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


В данной статье мы с вами разработаем HOC (Higher-Order Component — компонент высшего порядка) и хук (custom hook) для наблюдения за DOM-элементами на странице с помощью Intersection Observer API.


Функционал нашего HOC будет похож на функционал, предоставляемый такими пакетами, как react-lazyload или react-lazy-load. Основное его назначение будет состоять в отложенной (ленивой — lazy) загрузке компонентов. Суть идеи заключается в рендеринге только тех компонентов, которые находятся в области просмотра (viewport — вьюпорт), что может существенно повысить производительность приложения.


Назначением хука будет регистрация пересечения (intersection) наблюдаемого (observable) элемента с областью просмотра (или другим элементом). Этот хук предоставляет очень интересные возможности, парочка из которых будет рассмотрена в соответствующем разделе.


Репозиторий с кодом проекта


При разработке инструментов я буду применять систему типов, предоставляемую TypeScript.


Если вам это интересно, прошу под кат.

Читать дальше →
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 1.6K
Комментарии 2

Дизайн-система не равно UI-kit

Блог компании Ростелеком Веб-дизайн *Интерфейсы *ReactJS *

Дизайн-системы и UI-киты сейчас воспринимаются как равнозначные или тождественные. Но это не так! Более того, смешивать их будет чистым дилетантством, что недопустимо для современных UI/UX-дизайнеров и фронтендеров. В этой заметке я — Денис Пушкарь, оунер дизайн-системы Ростелекома — объясню почему.

Читать
Всего голосов 22: ↑20 и ↓2 +18
Просмотры 4.8K
Комментарии 13

React: полное руководство по повторному рендерингу

Блог компании Timeweb Cloud Высокая производительность *Разработка веб-сайтов *JavaScript *ReactJS *
Перевод


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


Представляю вашему вниманию перевод этой замечательной статьи, посвященной повторному рендерингу (re-render, далее — ререндеринг) в React.


Что такое ререндеринг?


Существует 2 основные стадии, которым следует уделять пристальное внимание, когда речь заходит о производительности в React:


  • первоначальный рендеринг (initial rendering) — происходит, когда компонент впервые появляется на экране;
  • ререндеринг — второй и последующие рендеринги компонента.

Ререндеринг происходит, когда React необходимо обновить приложение некоторыми данными. Обычно, это является результатом действий пользователя, получения ответа на асинхронный запрос или публикацию при подписке (паттерн "pub/sub" — публикация/подписка или издатель/подписчик) на определенные данные.

Читать дальше →
Всего голосов 22: ↑22 и ↓0 +22
Просмотры 9.8K
Комментарии 10

Заметка о Redux и Zustand

Блог компании Timeweb Cloud Разработка веб-сайтов *JavaScript *ReactJS *


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


На днях мне на глаза попалась статья, посвященная разработке корзины товаров на React с помощью Redux Toolkit для управления состоянием приложения и Redux Persist для хранения состояния в localStorage.


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



Если вам это интересно, прошу под кат.

Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 2.5K
Комментарии 5

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

Работа