Библиотека фронтендера | Frontend, JS, JavaScript, React.js, Angular.js, Vue.js – Telegram
Библиотека фронтендера | Frontend, JS, JavaScript, React.js, Angular.js, Vue.js
21.6K subscribers
2.92K photos
210 videos
49 files
5.21K links
Все самое полезное для фронтенда в одном канале.

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

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

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

РКН: https://gosuslugi.ru/snet/67a5b6884689c2151c820bb4
Download Telegram
👨‍💻 React Server Components в React Router: зачем и как использовать

Представьте: вместо отправки данных клиенту, их обработки и рендера — вы просто отдаёте готовый UI с сервера. Никакой лишней гидратации, меньший бандл, быстрее загрузка.

Зачем это нужно:

🔢 Меньше JS на клиенте — UI рендерится на сервере

🔢 Компоненты могут сами загружать данные — проще типизация

🔢 Инкрементальная миграция — можно внедрять постепенно

🔢 Server Functions — формы работают без привязки к роутам

Особенно круто для сложных приложений с CMS-контентом или динамическими комбинациями компонентов — сервер сразу отдаёт нужный UI.

⚠️ Фича пока experimental и может иметь breaking changes в минорных релизах. Для продакшена использовать с осторожностью, но для экспериментов — самое время!

🔗 Подробности на epicreact.dev

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

#read_watch
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4👾32
React_собес_30_вопросов_с_развёрнутыми_ответами.pdf
58.5 KB
📎 Шпаргалка для подготовки к React-собеседованию

🔵 30 самых популярных вопросов
🔵 Развёрнутые ответы с примерами кода
🔵 JavaScript, React, Redux, веб-технологии
🔵 Источники и ссылки на документацию

Скачай, изучи, получи оффер 👨‍💻

🔗 Источник

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

#readme #react
Please open Telegram to view this post
VIEW IN TELEGRAM
7🥱2👍1
🐧 Тёмная тема в React: простой хук или архитектура

Каждый проект проходит один и тот же путь. Сначала — кнопка переключения темы. Через месяц — система настроек.

Разница в том, что вы выбрали в первый день.

1️⃣ useLocalStorage

Состояние в браузере, API как у useState:


const [theme, setTheme] = useLocalStorage('theme', 'dark')


🔴 Когда подходит:
- Одна настройка
- Прототип или MVP
- Нет планов масштабирования

🔴 Что сломается позже:
- Ключи localStorage расползаются по компонентам
- Нет миграций при смене структуры
- Рассинхронизация состояния между вкладками

Это не баг. Это предел подхода.

2️⃣ zustand + persist

Когда добавляются язык, feature flags, пользовательские настройки — нужен единый стор:


const theme = useSettings(s => s.theme)
const setTheme = useSettings(s => s.setTheme)


🔴 Что получаете:
- Один источник правды
- Селекторы → меньше ререндеров
- Миграции версий состояния из коробки
- Синхронизация между вкладками

🔴 Цена входа:
- +1 зависимость
- 20-30 строк на стор вместо 3 на хук

🔴 Результат:
- Архитектура, которая не разваливается через полгода

Как выбрать:

- 1 настройка →
useLocalStorage

- 2-3 настройки → можно ещё потерпеть

- Система настроек → zustand сразу


localStorage — это инструмент.

zustand — это способ не переписывать проект через полгода.

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

#readme #react
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥43🥰2🥱1
Вопрос с собеседования по JavaScript

«Для чего в JavaScript нужен BigInt?»


Большинство кандидатов отвечают слишком обобщённо — «для больших чисел». Такой ответ почти всегда считают неполным.

🔤 Этот вопрос проверяет не знание синтаксиса, а понимание:

• ограничений типа Number
• потери точности в вычислениях
• того, когда JavaScript начинает молча врать

Выше — 5 карточек с разбором: в чём реальная проблема, что именно решает BigInt и как правильно отвечать на собеседовании 📎

🔹 Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

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

#career_merge
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥62🥰2
Твой `package.json` устарел

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

Делаем git commit в твое будущее: 3 курса по цене 1.

Оплачиваешь только тот, что дороже, — два других получаешь бесплатно.

Что подтянуть фронтендеру:

— алгоритмы и структуры данных (да, их спрашивают);
— основы IT (если плаваешь в сетях и протоколах).

Собрать свой стек на 2026

Дедлайн: 31 декабря.

Помощь с выбором: @manager_proglib
5
🔄 Retry для fetch запросов

Сетевые ошибки случаются постоянно. Простое решение на 15 строк:

Что делает:

— Автоматический retry при временных ошибках
— Экспоненциальная задержка (1s → 2s → 4s)
— Не retry'ит клиентские ошибки (400, 401, 403, 404)
— Retry только для: 408, 429, 500, 502, 503, 504

Пример использования:


try {
const res = await fetchWithRetry('/api/data');
const data = await res.json();
console.log(data);
} catch (err) {
console.error('Все попытки неудачны:', err);
}


⚠️ fetch НЕ отклоняет промис на HTTP ошибках — нужна проверка response.ok

🈁 Где использовать:

— GET/PUT/DELETE запросы
— Загрузка конфигурации
— Webhook'и

🔤 Не использовать:

— POST без идемпотентности
— Операции с оплатой

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

#hotfix
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🥰2