Mermaid
Создание диаграмм в графических редакторах отнимает много времени, а поддерживать их в актуальном состоянии ещё сложнее. Библиотека Mermaid решает эту проблему, позволяя описывать схемы и графики текстом, прямо как в Markdown. Такой подход упрощает версионирование и встраивание диаграмм в документацию или веб-приложения.
👉 @sWebDev
Создание диаграмм в графических редакторах отнимает много времени, а поддерживать их в актуальном состоянии ещё сложнее. Библиотека Mermaid решает эту проблему, позволяя описывать схемы и графики текстом, прямо как в Markdown. Такой подход упрощает версионирование и встраивание диаграмм в документацию или веб-приложения.
👉 @sWebDev
❤2
Условие выполнения
При каком условии вызывается колбэк, переданный в
Забыли? Вернитесь к посту от28.07.2025 .
👉 @sWebDev
При каком условии вызывается колбэк, переданный в
useDebouncedEffect
?Забыли? Вернитесь к посту от
👉 @sWebDev
❤2
При каком условии вызывается колбэк, переданный в 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
Please open Telegram to view this post
VIEW IN TELEGRAM
Dragscroll
Прокрутка контента с помощью мыши часто ограничена использованием стандартных скроллбаров. Библиотека dragscroll добавляет в обычные десктопные интерфейсы интуитивное поведение скроллинга перетаскиванием, привычное по сенсорным устройствам. Инструмент будет полезен для галерей, карт или любых контейнеров с горизонтальной прокруткой.
👉 @sWebDev
Прокрутка контента с помощью мыши часто ограничена использованием стандартных скроллбаров. Библиотека dragscroll добавляет в обычные десктопные интерфейсы интуитивное поведение скроллинга перетаскиванием, привычное по сенсорным устройствам. Инструмент будет полезен для галерей, карт или любых контейнеров с горизонтальной прокруткой.
👉 @sWebDev
👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
Профессиональная обработка ошибок в TypeScript
Обработка ошибок через
👉 @sWebDev
Обработка ошибок через
try...catch
часто приводит к запутанному коду и потере типизации при работе с any
или unknown
. Статья предлагает структурированный подход к созданию надёжной системы обработки ошибок в TypeScript. Разбираются паттерны, которые помогают сохранить типобезопасность и сделать код более предсказуемым и поддерживаемым.👉 @sWebDev