Фронтенд
Пишем рекурсивную функцию в 3 простых шага. Фротенд задачи.
Если вы никогда не использовали рекурсию, пора это исправить! Я написал эту статью, чтобы вы разобрались как она работает. Поняв эту простую концепцию, вы сможете быстро и эффективно решать задачи, которые вынуждают обычных разработчиков идти на поиски ответа в сервисы подобные Stack Overflow. Что такое рекурсия? Рекурсия это подход к решению проблемы с использованием функции, которая вызывает себя в качестве подфункции. Где применяется рекурсия? Наша задача К примеру, у нас есть объект (должников) с большой вложенностью...
React-роутинг. Изучаем 4 актуальных роутера для React
Достаточно сложно представить современное react-приложение без роутинга компонентов. Сразу обозначим — мы не будем рассматривать стандартный функционал роутеров: парсинг строки, работа с URL параметрами, обозначение активного раздела, наличие редиректов и распознавание несуществующего роута. Мы будем рассматривать только различия и интересные особенности альтернативных роутеров, а так же их общую статистику использования: 👨💻— Используется в репозиториях GitHub ⭐— Количество звезд на GitHub ⬇️—...
Создаем массив уникальных значений. Фронтед задачи.
Довольно простая задача, которая может быть красиво решена как с помощью последней версии JS, так и обычным перебором. Если вы готовитесь к собеседованию, настоятельно рекомендую: прочитайте статью, откройте JS Fiddle, затем по памяти повторите все варианты решения. Это поможет вам усвоить материал на 20% лучше. Итак, давайте разберем 2 основных способа решения этой задачи: Array Filter Что происходит: Пробегаем по массиву методом filter. Метод filter возвращает значение текущей итерации, если условие возвращает true...
Рефакторинг. Состояния и статический маппинг
Во время разработки встречаются случаи с перечислением сложных условий и состояний внутри компонента. Разработчики сталкиваются с этим при создании: форм с множеством экранов, компонентов с несколькими визуальными состояниями, сложной валидацией и роутингом. Давайте рассмотрим условный пример реализации формы с множеством экранов: Самое простое и популярное решение — использовать switch-case. Это наглядная и понятная структура, но в остальном выглядит громоздко. Так же нужно объявлять функцию не очевидно как сделать мемоизацию (через useMemo или useCallback)...
Основные паттерны проектирования в JavaScript. Паттерн «Фабрика».
Благодаря заложенным в паттерн принципам объектно-ориентированного и функционального программирования, «Фабрика» является одним из самых популярных паттернов проектирования. Паттерн используется: Принцип создания: Прежде чем создать класс-фабрику нам нужно определить все возможные типы и вариации создаваемых классов. На основе этих типов мы создаем некий общий интерфейс внутри класса-фабрики, в котором нужные классы будут создаваться не напрямую через оператор «new», а через некий API в виде методов...
