Адаптивный интерфейс
Хук
👉 @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
👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
Bliss
Библиотека содержит набор легковесных хелперов, делающих работу с DOM на чистом JavaScript более лаконичной. Она расширяет нативные элементы новыми методами для использования синтаксиса в стиле jQuery без дополнительных зависимостей и обёрток.
👉 @sWebDev
Библиотека содержит набор легковесных хелперов, делающих работу с DOM на чистом JavaScript более лаконичной. Она расширяет нативные элементы новыми методами для использования синтаксиса в стиле jQuery без дополнительных зависимостей и обёрток.
👉 @sWebDev
❤1👍1