Библиотека фронтендера | Frontend, JS, JavaScript, React.js, Angular.js, Vue.js
22K subscribers
2.6K photos
172 videos
39 files
4.99K links
Все самое полезное для фронтенда в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/77178ed4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5b6884689c2151c820bb4
Download Telegram
#interface #code #css

Карусель изображений на чистом CSS

Полностью функциональная карусель со стрелками и контролами без единой строчки JS.

https://prglb.ru/4yfkh
#code #html

Сниппет для просмотра всех SVG в спрайте

const sprite = document.querySelector("#sprite");
const symbols = sprite.querySelectorAll("symbol");

symbols.forEach(symbol => {
document.body.insertAdjacentHTML("beforeend",
'<svg width="50" height="50">' +
'<use xlink:href="#${symbol.id}" />' +
'</svg>')
});
JavaScript-однострочники

Несколько полезных приемов на JS, укладывающихся в одну строчку кода:

Удаление дубликатов из массива
const deDupe = [...new Set(myArray)];

Изменение значений двух переменных
[varA, varB] = [varB, varA];

Установка свойства по условию
const myObject = { ...myProperty && { propName: myProperty } };

Форматирование JSON-строки
const formatted = JSON.stringify(myObj, null, 2);

Создание массива, заполненного числами
const numArray = Array.from(new Array(52), (x, i) => i);

Перемешивание массива
myArray.sort(() => { return Math.random() - 0.5});

Глубокое клонирование
const myClone = JSON.parse(JSON.stringify(originalObject));

Источник: https://prglb.ru/5ximt

#code #snippets #javascript
Рваные края в диагональных градиентах

👎 При создании диагональных линейных градиентов в CSS с резким переходом на месте стыка цветов образуется рваная линия.
background: linear-gradient(176deg, white, white 75%, black 75%, black 100%);

Маленький хак для решения этой проблемы: начало второго цвета нужно немножко сдвинуть.

👉 Способ 1 - десятые доли процента:
background: linear-gradient(176deg, white, white 75%, black 75.3%, black 100%);

👉 Способ 2 - функция calc:
background: linear-gradient(176deg, white, white 75%, black calc(75% + 1px), black 100%);

Источник: https://prglb.ru/3wj0g

#css #snippets #code
Очень приятная анимация формы для ввода данных карты

Смотреть: https://prglb.ru/1z3gu

#code #snippets #interface #animation
Круговое меню на HTML, CSS и JS

Верстаем симпатичное меню с помощью базовых знаний HTML, CSS, JS и геометрии 😲

Смотреть и повторять: https://www.youtube.com/watch?v=RR1Ag4SQ54E&feature=youtu.be

#code #video
Please open Telegram to view this post
VIEW IN TELEGRAM
👍185👾3🤩2
🌪 CSS-баттл

Представим: старт проекта завтра. Что возьмете в основу?

➡️ Tailwind CSS

— Быстрая верстка за счёт утилитарных классов
— Чёткий дизайн-системный язык без лишнего нейминга
— Удобно для больших команд — меньше стиля-разброда

➡️ Styled Components

— Стили прямо в компоненте → чище структура
— Динамика через пропсы без костылей
— Отличная интеграция с React, всё на JS

Голосуем реакциями:

👍 — Tailwind
❤️ — Styled Components

🐸 Библиотека фронтендера

#code_battle
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4928🥱10
⚡️ React vs Vue: что выберете вы

Два фреймворка, два подхода, одна вечная дискуссия.

➡️ React

— Компонентная архитектура и масштабируемость
— Огромная экосистема и сообщество
— Hooks и современный подход к состоянию

➡️ Vue

— Мгновенный старт и лёгкая интеграция
— Реактивность «из коробки»
— Понятный синтаксис для шаблонов

Голосуем реакциями:

👍 — React
❤️ — Vue

🐸 Библиотека фронтендера

#code_battle
Please open Telegram to view this post
VIEW IN TELEGRAM
109👍49🥱7❤‍🔥2
⭐️ Небольшая задачка на логику

Посмотрите на код (он в картинке 👆).

Какой ответ выведет консоль

Объясните, почему вывод именно такой. Почините код, чтобы выводилось корректное значение счётчика.

Подсказка: исправьте код без использования bind и дополнительных временных переменных.

Ответ в комментах скрывайте под спойлер 😉

🐸 Библиотека фронтендера

#code_challenge #js
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🥱4
🌸 Разбор задачи на this: почему счётчик выводит NaN

Раннее мы выкладывали задачу 📎

Правильный ответ: NaN

➡️ Почему так:

— В setTimeout обычная функция → её this указывает на window (или undefined в strict).

— У глобального объекта нет count.

— undefined++ → NaN.

Фикс без bind и переменных:


function Counter() {
this.count = 0;

this.start = function() {
setTimeout(() => {
this.count++;
console.log(this.count);
}, 1000);
}
}


📌 Стрелочные функции берут this из окружения, а не создают свой.

🐸 Библиотека фронтендера

#code_challenge #js
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥32
🐈‍⬛️ Redux vs Zustand: управление состоянием фронтенда

➡️ Redux

— Строгая архитектура и предсказуемость
— Огромное комьюнити и тулзинг
— Подходит для enterprise-приложений

➡️ Zustand

— Минимализм и простота
— Меньше кода, легче читать
— Подходит для небольших и средних проектов

Голосуем реакциями:

👍 — Redux
❤️ — Zustand

🐸 Библиотека фронтендера

#code_battle
Please open Telegram to view this post
VIEW IN TELEGRAM
50👍25
🤏 Кто быстрее достанет данные из API

➡️ React Query

— Всегда помнит, что было раньше
— Отлично справляется с хитрыми API
— Настраивается под любые сценарии

➡️ SWR

— Лаконичен и лёгок
— Быстро подхватывает свежие данные
— Идеален для простых CRUD

Голосуем:

👍 — React Query
❤️ — SWR

🐸 Библиотека фронтендера

#code_battle
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🥱103
📢 Навигация по каналу

Чтобы не теряться в потоке постов, мы собрали удобную навигацию по тегам. Всё нужное — в пару кликов:

#readme — код-сниппеты, CSS-трюки, JS one-liners, команды Git/CLI

#hotfix — реальные баги и проблемы с объяснением, как их исправить

#blueprint — high-level концепции и паттерны

#under_hood — разбираем, что происходит внутри фреймворков и браузера

#stack — обзоры библиотек, плагинов, инструментов

#release_digest — все важное за неделю/месяц в одном месте: новые версии фреймворков, релизы библиотек, ссылки и краткие описания

#code_challenge — интерактивные задачи с разбором на следующий день

#code_battle — столкновение технологий или подходов

#pixel_pause— мемы, юмор и забавные истории из фронтенд-жизни

#career_merge — советы по резюме, soft skills, вопросы с собеседований, обсуждение зарплат

#ux_review — изучаем интерфейсы и UX известных сайтов и приложений

#read_watch — подборки полезных материалов: статьи, конференции, GitHub, книги

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

🐸 Библиотека фронтендера
Please open Telegram to view this post
VIEW IN TELEGRAM
4