Slip.js
Библиотека Slip.js добавляет в HTML-списки интерактивное управление жестами, привычное по мобильным приложениям. Она реализует сортировку элементов перетаскиванием и свайпы для удаления, инкапсулируя всю логику обработки событий касания. Инструмент работает без внешних зависимостей.
👉 @sWebDev
Библиотека Slip.js добавляет в HTML-списки интерактивное управление жестами, привычное по мобильным приложениям. Она реализует сортировку элементов перетаскиванием и свайпы для удаления, инкапсулируя всю логику обработки событий касания. Инструмент работает без внешних зависимостей.
👉 @sWebDev
❤2👍1
Логика предиката
Какую роль выполняет функция-предикат в хуке, который условно сохраняет предыдущее значение состояния?
Забыли? Вернитесь к посту от11.08.2025 .
👉 @sWebDev
Какую роль выполняет функция-предикат в хуке, который условно сохраняет предыдущее значение состояния?
Забыли? Вернитесь к посту от
👉 @sWebDev
❤2
Какую роль выполняет функция-предикат в хуке, который условно сохраняет предыдущее значение состояния?
Anonymous Quiz
48%
Определяет, нужно ли обновлять сохраненное предыдущее значение.
10%
Форматирует сохраненное значение перед выводом.
14%
Запускает асинхронную операцию при изменении значения.
28%
Сравнивает текущее значение с начальным состоянием.
👍2❤1
Безопасные асинхронные операции
Хук
Хук использует
👉 @sWebDev
Хук
useIsMounted
решает проблему вызова обновления состояния в размонтированном компоненте. Она возникает, когда асинхронная операция (например, fetch
) завершается уже после того, как пользователь покинул страницу и компонент был удален из DOM.Хук использует
useRef
для хранения флага, который устанавливается в true
при монтировании компонента. Перед обновлением состояния асинхронная функция проверяет этот флаг. Важно, что useRef
, а не useState
, используется для хранения флага, чтобы его изменение не вызывало повторный рендер компонента.import { useRef, useEffect } from 'react';
function useIsMounted() {
const isMountedRef = useRef(true);
useEffect(() => {
return () => {
isMountedRef.current = false;
};
}, []);
return () => isMountedRef.current;
}
👉 @sWebDev
❤2👍1
MinDom
Библиотека MinDom предоставляет легковесный набор утилит для манипуляций с DOM и управления событиями. Она будет полезна в проектах, где требуется базовое взаимодействие с DOM без подключения тяжёлых фреймворков.
👉 @sWebDev
Библиотека MinDom предоставляет легковесный набор утилит для манипуляций с DOM и управления событиями. Она будет полезна в проектах, где требуется базовое взаимодействие с DOM без подключения тяжёлых фреймворков.
👉 @sWebDev
❤2
Вот 17 авторских обучающих IT каналов по самым востребованным областям программирования:
Выбирай своё направление:
Please open Telegram to view this post
VIEW IN TELEGRAM
Прощай, Zone.js: ускоряем Angular с помощью Signal API
Механизм
👉 @sWebDev
Механизм
Zone.js
в Angular часто приводит к лишним проверкам и падению производительности из-за глобального отслеживания изменений. Статья разбирает, как новый Signal API и Zoneless-подход решают эту проблему. На примерах и замерах производительности показывается, как точечная реактивность сигналов устраняет избыточные перерисовки и ускоряет приложение.👉 @sWebDev
❤1
Media is too big
VIEW IN TELEGRAM
Spooky Spectral Ghost
Интерактивная сцена с призраком и спектральными эффектами на Three.js.
👉 @sWebDev
Интерактивная сцена с призраком и спектральными эффектами на Three.js.
👉 @sWebDev
❤1👍1
Chocolat
Chocolat — адаптивная лайтбокс-галерея для изображений. Она позволяет создавать всплывающие галереи с поддержкой навигации и полноэкранного режима.
👉 @sWebDev
Chocolat — адаптивная лайтбокс-галерея для изображений. Она позволяет создавать всплывающие галереи с поддержкой навигации и полноэкранного режима.
👉 @sWebDev
👍1
Поведение при отказе в доступе
Что отобразит прокси-компонент для контроля доступа, если у пользователя нет требуемой роли?
Забыли? Вернитесь к посту от18.08.2025 .
👉 @sWebDev
Что отобразит прокси-компонент для контроля доступа, если у пользователя нет требуемой роли?
Забыли? Вернитесь к посту от
👉 @sWebDev
❤1
Что отобразит прокси-компонент для контроля доступа, если у пользователя нет требуемой роли?
Anonymous Quiz
4%
Ошибку, которая приведет к падению приложения.
30%
Страницу входа в систему.
60%
Ничего, или заранее определенный компонент-заглушку.
6%
Дочерний компонент в "неактивном" состоянии.
❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👎5
Адаптивный интерфейс
Хук
👉 @sWebDev
Хук
useMediaQuery
отслеживает media-запросы для адаптации интерфейса. Для корректной работы в SSR, где объект window
недоступен и нельзя определить размер экрана, хук принимает начальное значение (defaultValue
). Оно используется при рендеринге на сервере, а после гидратации на клиенте состояние обновляется до реального.import { useState, useEffect } from 'react';
function useMediaQuery(query: string, defaultValue = false) {
const [matches, setMatches] = useState(defaultValue);
useEffect(() => {
const mediaQueryList = window.matchMedia(query);
const listener = (event: MediaQueryListEvent) => setMatches(event.matches);
// Устанавливаем начальное значение после монтирования
setMatches(mediaQueryList.matches);
mediaQueryList.addEventListener('change', listener);
return () => mediaQueryList.removeEventListener('change', listener);
}, [query]);
return matches;
}
👉 @sWebDev
👍1