Админ, сотрудничество, реклама: @seniorFrontPromo, @maria_seniorfront
Купить рекламу: https://telega.in/c/sWebDev
Post #3652
1.02K
FR @swebdev
Showing posts older than #3653 · Back to latest


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>;
}
}


flushSync()?




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 создает и вставляет шаблон.

preloadAllModules в Angular?