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