При каком условии вызывается колбэк, переданный в useDebouncedEffect?
Anonymous Quiz
15%
Сразу после изменения зависимостей.
10%
Только при первом рендере компонента.
67%
Только по истечении задержки без новых изменений.
8%
При каждом вызове функции setTimeout.
👍3
Прокси-компонент для управления доступом
Паттерн Компонент-прокси можно применить для более сложных задач, чем управление загрузкой. Его используют для инкапсуляции и разграничения прав доступа к отдельным частям интерфейса.
Прокси-компонент для контроля доступа оборачивает защищенный контент. Он обращается к
👉 @sWebDev
Паттерн Компонент-прокси можно применить для более сложных задач, чем управление загрузкой. Его используют для инкапсуляции и разграничения прав доступа к отдельным частям интерфейса.
Прокси-компонент для контроля доступа оборачивает защищенный контент. Он обращается к
AuthContext
, чтобы получить роль текущего пользователя, и сравнивает её с требуемой ролью, переданной в props
. В зависимости от результата проверки, прокси либо отрисовывает дочерние элементы, либо возвращает null
или компонент-заглушку.import { useContext, ReactNode } from 'react';
import { AuthContext } from './AuthContext'; // контекст создан
interface AccessControlProxyProps {
children: ReactNode;
requiredRole: 'admin' | 'user';
}
function AccessControlProxy({ children, requiredRole }: AccessControlProxyProps) {
const { user } = useContext(AuthContext);
if (user?.role !== requiredRole) {
return null; // или <AccessDenied />
}
return <>{children}</>;
}
👉 @sWebDev
👍3❤1
Dragscroll
Прокрутка контента с помощью мыши часто ограничена использованием стандартных скроллбаров. Библиотека dragscroll добавляет в обычные десктопные интерфейсы интуитивное поведение скроллинга перетаскиванием, привычное по сенсорным устройствам. Инструмент будет полезен для галерей, карт или любых контейнеров с горизонтальной прокруткой.
👉 @sWebDev
Прокрутка контента с помощью мыши часто ограничена использованием стандартных скроллбаров. Библиотека dragscroll добавляет в обычные десктопные интерфейсы интуитивное поведение скроллинга перетаскиванием, привычное по сенсорным устройствам. Инструмент будет полезен для галерей, карт или любых контейнеров с горизонтальной прокруткой.
👉 @sWebDev
👍1
Профессиональная обработка ошибок в TypeScript
Обработка ошибок через
👉 @sWebDev
Обработка ошибок через
try...catch
часто приводит к запутанному коду и потере типизации при работе с any
или unknown
. Статья предлагает структурированный подход к созданию надёжной системы обработки ошибок в TypeScript. Разбираются паттерны, которые помогают сохранить типобезопасность и сделать код более предсказуемым и поддерживаемым.👉 @sWebDev
❤1👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Vidbg.js
Библиотека Vidbg.js предназначена для создания полноэкранных видеофонов. Инструмент решает проблемы с адаптивным масштабированием и содержит механизм fallback-изображений для мобильных устройств, где автовоспроизведение видео часто ограничено.
👉 @sWebDev
Библиотека Vidbg.js предназначена для создания полноэкранных видеофонов. Инструмент решает проблемы с адаптивным масштабированием и содержит механизм fallback-изображений для мобильных устройств, где автовоспроизведение видео часто ограничено.
👉 @sWebDev
❤1
Контекст выполнения
Какое ключевое условие необходимо для корректной работы оператора
Забыли? Вернитесь к посту от04.08.2025 .
👉 @sWebDev
Какое ключевое условие необходимо для корректной работы оператора
takeUntilDestroyed
?Забыли? Вернитесь к посту от
👉 @sWebDev
❤1
Какое ключевое условие необходимо для корректной работы оператора takeUntilDestroyed?
Anonymous Quiz
29%
Применение оператора внутри метода ngOnInit.
29%
Обязательная реализация интерфейса OnDestroy в компоненте.
43%
Вызов оператора внутри инъекционного контекста.
0%
Использование его только для HTTP-запросов.
❤1