Динамическое управление представлениями
Пример:
👉 @sWebDev
EmbeddedViewRef
- это ссылка на конкретный экземпляр представления, созданный из TemplateRef
. В отличие от ComponentRef
, он относится к шаблону (<ng-template>
), что позволяет динамически отображать пользовательский интерфейс.import { Component, ViewChild, ViewContainerRef, TemplateRef } from '@angular/core';
@Component({
selector: 'app-example',
template: `
<ng-template #t><div>Шаблон</div></ng-template>
<div #c></div>
<button (click)="create()">Создать</button>
`,
})
export class ExampleComponent {
@ViewChild('t', { read: TemplateRef }) tRef!: TemplateRef<any>;
@ViewChild('c', { read: ViewContainerRef }) cRef!: ViewContainerRef;
create() {
this.cRef.createEmbeddedView(this.tRef);
}
}
Пример:
@ViewChild
получает TemplateRef
(tRef
) и ViewContainerRef
(cRef
). createEmbeddedView
создает и вставляет шаблон.👉 @sWebDev
Iro.js
Iro.js - это JavaScript библиотека, предоставляющая виджеты для выбора цвета. Она предлагает настраиваемые интерфейсы для выбора цвета, которые легко интегрируются в веб-приложения.
👉 @sWebDev
Iro.js - это JavaScript библиотека, предоставляющая виджеты для выбора цвета. Она предлагает настраиваемые интерфейсы для выбора цвета, которые легко интегрируются в веб-приложения.
👉 @sWebDev
Анализ работы серверных компонентов (RSCs) React
Статья предлагает глубокий анализ принципов работы серверных компонентов React, рассматривая процессы рендеринга, взаимодействие с клиентскими компонентами и влияние на производительность. Прочитав ее, вы получите полное представление об RSC и сможете лучше применять их для оптимизации ваших React-приложений.
👉 @sWebDev
Статья предлагает глубокий анализ принципов работы серверных компонентов React, рассматривая процессы рендеринга, взаимодействие с клиентскими компонентами и влияние на производительность. Прочитав ее, вы получите полное представление об RSC и сможете лучше применять их для оптимизации ваших React-приложений.
👉 @sWebDev
Media is too big
VIEW IN TELEGRAM
Threejs Explorations
Настраиваемая анимация, сочетающая морфинг и триггер на прокрутку, реализована на базе Three.js для 3D-рендеринга и GSAP для покадровой анимации.
👉 @sWebDev
Настраиваемая анимация, сочетающая морфинг и триггер на прокрутку, реализована на базе Three.js для 3D-рендеринга и GSAP для покадровой анимации.
👉 @sWebDev
Alpaca Forms
Alpaca Forms - это JavaScript библиотека для генерации веб-форм. Он позволяет создавать формы динамически, используя JSON-схемы. Поддерживает различные типы полей, правила валидации и темы оформления.
👉 @sWebDev
Alpaca Forms - это JavaScript библиотека для генерации веб-форм. Он позволяет создавать формы динамически, используя JSON-схемы. Поддерживает различные типы полей, правила валидации и темы оформления.
👉 @sWebDev
Пакетное обновление и flushSync()
Как изменяется поведение пакетного обновления при использовании
Забыли? Вернитесь к посту от24.03.2025 .
👉 @sWebDev
Как изменяется поведение пакетного обновления при использовании
flushSync()
?Забыли? Вернитесь к посту от
👉 @sWebDev
Как влияет flushSync() на стандартное пакетирование обновлений?
Anonymous Quiz
28%
Объединяет обновления в один пакет.
58%
Выполняет обновления синхронно, обходя пакетирование.
8%
Откладывает обновления до следующего цикла событий.
6%
Отменяет все обновления состояния.
Прямой доступ к DOM-элементам
Метод
Пример:
👉 @sWebDev
Метод
findDOMNode()
в React предоставляет прямой доступ к реальному DOM-узлу компонента. Обычно его применяют в старых компонентах или библиотеках, где нет возможности использовать рефы. Несмотря на удобство, findDOMNode()
считается устаревшим из-за ограничений и потенциальных конфликтов с React Strict Mode. Этот метод нельзя использовать в функциональных компонентах и компонентах, созданных с помощью React.forwardRef()
. Команда React рекомендует вместо него использовать React.createRef()
или хук useRef()
, так как они безопаснее и более совместимы с современным подходом React.Пример:
import React from 'react';
import { findDOMNode } from 'react-dom';
class LegacyComponent extends React.Component {
componentDidMount() {
const node = findDOMNode(this);
node.style.color = 'blue';
}
render() {
return <div>Прямой доступ к DOM!</div>;
}
}
👉 @sWebDev
This media is not supported in your browser
VIEW IN TELEGRAM
Embla Carousel
Embla Carousel — JavaScript-библиотека для создания слайдеров и каруселей с минимальным размером и поддержкой сенсорных экранов. Не имеет зависимостей и настраивается через чистый JavaScript API.
👉 @sWebDev
Embla Carousel — JavaScript-библиотека для создания слайдеров и каруселей с минимальным размером и поддержкой сенсорных экранов. Не имеет зависимостей и настраивается через чистый JavaScript API.
👉 @sWebDev
Адаптивное видеостриминг с использованием Dash.js в React
Стандартный видеоплеер в браузере часто не справляется с разной скоростью интернета пользователей, вызывая паузы и зависания. Статья показывает, как решить эту проблему с помощью адаптивного битрейт-стриминга (ABR) на основе Dash.js. Автор объясняет, как настроить сегментирование видео, использовать FFmpeg и интегрировать Dash.js в React-приложение, чтобы обеспечить плавное воспроизведение при любом соединении.
👉 @sWebDev
Стандартный видеоплеер в браузере часто не справляется с разной скоростью интернета пользователей, вызывая паузы и зависания. Статья показывает, как решить эту проблему с помощью адаптивного битрейт-стриминга (ABR) на основе Dash.js. Автор объясняет, как настроить сегментирование видео, использовать FFmpeg и интегрировать Dash.js в React-приложение, чтобы обеспечить плавное воспроизведение при любом соединении.
👉 @sWebDev
NProgress
NProgress — миниатюрная библиотека для добавления индикатора загрузки в верхней части веб-страницы. Позволяет визуально показать прогресс загрузки или выполнения задачи.
👉 @sWebDev
NProgress — миниатюрная библиотека для добавления индикатора загрузки в верхней части веб-страницы. Позволяет визуально показать прогресс загрузки или выполнения задачи.
👉 @sWebDev