Frontender Libs - обзор библиотек JS / CSS
8.3K subscribers
2.04K photos
735 videos
3 files
243 links
Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront

Купить рекламу: https://telega.in/c/sWebDev
Download Telegram
Сохранение состояния

Что обеспечивает хук useLocalStorage, в отличие от обычного useState?

Посмотреть ответ.

👉 @sWebDev
1
Оптимизация событий с помощью debounce

Иногда функция вызывается слишком часто — например, при вводе в поисковую строку или скролле страницы. Это перегружает приложение.

useDebounce в React помогает запускать действие только после того, как пользователь перестал что-то делать.
import { useEffect, useState } from "react";

function useDebounce<T>(value: T, delay: number) {
const [debounced, setDebounced] = useState(value);

useEffect(() => {
const id = setTimeout(() => setDebounced(value), delay);
return () => clearTimeout(id);
}, [value, delay]);

return debounced;
}


Пример:
const [query, setQuery] = useState("");
const debouncedQuery = useDebounce(query, 500);

useEffect(() => {
if (debouncedQuery) {
fetch(`/api/search?q=${debouncedQuery}`);
}
}, [debouncedQuery]);


Теперь запрос отправляется только через 500 мс после остановки ввода, а не при каждом нажатии клавиши.

👉 @sWebDev
👍31
На чьей вы стороне?

❤️ - фронтед.

👍 - бэкенд.

👉 @sWebDev | #юмор

👉 @sWebDev
13👍8🤔1
Tabulator

Библиотека, которая превращает HTML-таблицы или данные из JavaScript в интерактивные, полнофункциональные виджеты с огромным количеством функций. Философия — "простота настройки, мощь под капотом".

👉 @sWebDev
1
Ваша история в IT начинается в Авито 🚀

Хотите расти в разработке — приходите на оплачиваемую стажировку в Авито. Мы ищем будущих специалистов в направлениях Frontend, Backend, QA и Android. Вы будете работать над продуктами, которыми ежедневно пользуются миллионы людей, и прокачивать навыки с помощью:

➡️ наставника — подскажет, как мыслить в процессе решения задач;
➡️ комьюнити стажёров — всегда рядом, чтобы обсудить задачи и поддержать;
➡️ корпоративных курсов, библиотек и баз знаний — всё, чтобы развиваться быстрее.

Выберите два направления — основное и запасное. Если не получится попасть в первое, сможете пройти отбор на второе при наличии мест.

Условия:
➡️ зарплата и корпоративный ноутбук,
➡️ формат — офис, удалёнка или гибрид,
➡️ от 25 часов в неделю,
➡️ продолжительность — 9 месяцев,
➡️ компенсация питания, консультации с психологами и юристами,
➡️ после стажировки — возможность остаться в команде, если покажите крутой результат.

📌 Регистрация открыта до 12 ноября. Подать заявку можно по ссылке.
Please open Telegram to view this post
VIEW IN TELEGRAM
1
JavaScript для профессиональных веб-разработчиков

Автор доступно объясняет сложные концепции языка, включая замыкания, асинхронное программирование, работу с DOM и современные стандарты ECMAScript.
Книга сочетает теорию с практическими примерами, что делает её полезной как для начинающих, так и для опытных программистов. Обновлённое издание охватывает последние тренды веб-разработки.

👉 @sWebDev | #книги
Отслеживание размеров окна

Что будет, если не передать defaultWidth и defaultHeight в useWindowSize?

Посмотреть ответ.

👉 @sWebDev
👍3
Анимации с Framer Motion

Framer Motion — популярная библиотека для React, которая упрощает создание плавных анимаций. С её помощью можно легко добавлять интерактивные эффекты, такие как масштабирование кнопки при наведении или анимация появления элемента.

import { motion } from 'framer-motion';

const Button: React.FC = () => {
return (
<motion.button
whileHover={{ scale: 1.1 }} // Анимация при наведении курсора
whileTap={{ scale: 0.9 }} // Анимация при клике
initial={{ opacity: 0 }} // Начальное состояние
animate={{ opacity: 1 }} // Конечное состояние
transition={{ duration: 0.3 }} // Длительность
>
Нажми меня
</motion.button>
);
};

export default Button;


👉 @sWebDev
👍2