Telegram Web
Через тернии к позиции Middle React разработчика

Статья которая поможет Junior-разработчикам перейти на уровень Middle. Узнайте, какие аспекты JavaScript и React важно освоить, почему стоит разобраться с Redux и Context API, и как тестирование и работа с Webpack и Docker повысят ваш профессионализм.

👉 @web_craft | #собес
Media is too big
VIEW IN TELEGRAM
Cubes - three.js & anime.js

Анимация спирали на Anime.js и Three.js.

👉 @sWebDev
SpriteJS

SpriteJS — библиотека для 2D-рендеринга, подходящая для создания анимаций и игр. Поддерживает Canvas и WebGL, работает с текстом, формами и слоями, делая управление графикой простым и эффективным.

👉 @sWebDev
Работа с декораторами HostListener

Для чего обычно используется декоратор @HostListener в Angular?

Если забыли, то вернитесь к посту от 04.11.2024.

👉 @sWebDev
This media is not supported in your browser
VIEW IN TELEGRAM
Насколько часто чужой код вызывает у вас недоумение?

👍 — Редко, всё интуитивно.

🤔 — Иногда встречаю странные решения.

❤️ — Регулярно, порой это сюрреализм.

👉 @sWebDev | #юмор
Метод ngAfterContentInit для управления контентом, переданным через ng-content

В Angular метод ngAfterContentInit является жизненным циклом компонента, который вызывается после инициализации контента, переданного через ng-content. Это позволяет выполнять операции над переданными дочерними элементами после того, как они станут частью DOM компонента.

Пример:
import { Component, ContentChild, AfterContentInit } from '@angular/core';
import { ElementRef } from '@angular/core';

@Component({
selector: 'app-card',
template: `<div class="card"><ng-content></ng-content></div>`
})
export class CardComponent implements AfterContentInit {
@ContentChild('header') header!: ElementRef;

ngAfterContentInit() {
if (!this.header) {
console.warn('Контент заголовка не передан!');
} else {
console.log('Заголовок загружен:', this.header.nativeElement.textContent);
}
}
}

Здесь CardComponent проверяет наличие элемента header и логгирует его содержание при успешной инициализации.

👉 @sWebDev
Media is too big
VIEW IN TELEGRAM
Tria

Абстрактная геометрическая анимация на Three.js.

👉 @sWebDev
Как думаете, баги на фронте легче исправлять?

👍 - Да, легче.

❤️ - Нет, не всегда, зависит от фронта.

👉 @sWebDev | #юмор
Ztext.js

Ztext.js — лёгкая библиотека для добавления 3D-эффектов и анимаций к текстам на веб-страницах. Работает без WebGL и позволяет создавать глубину и ротацию текста. Подходит для выделения заголовков и декоративного текста.

👉 @sWebDev
Почему компонентная композиция — это отличная идея

Статья рассматривает преимущества подхода компонентной композиции в разработке React-приложений. Автор объясняет, как использование композиции позволяет создавать гибкие и переиспользуемые компоненты, которые проще настраивать и комбинировать.

👉 @sWebDev
Media is too big
VIEW IN TELEGRAM
Glass Configurator

Генератор стакана на Three.js.

👉 @sWebDev
Focus-visible

Focus-visible — полифилл для псевдокласса :focus-visible, показывающий стили фокуса только для пользователей с клавиатурой. Упрощает стилизацию и улучшает доступность интерфейсов, скрывая фокус при использовании мыши.

👉 @sWebDev
Работа с опцией { static: true } в декораторе ViewChild

Что делает опция { static: true } в декораторе @ViewChild?

Если забыли, то вернитесь к посту от 10.11.2024.

👉 @sWebDev
Метод unstable_batchedUpdates в React

unstable_batchedUpdates позволяет объединить несколько вызовов обновления состояния, чтобы минимизировать количество ререндеров компонентов.

Обычно React автоматически выполняет "батчинг" обновлений состояния внутри событий, таких как клики или события ввода. Однако, если обновление происходит вне этих контекстов, например, внутри setTimeout или промиса, каждое изменение состояния вызывает отдельный ререндер.

Пример применения:
import { unstable_batchedUpdates } from 'react-dom';

setTimeout(() => {
unstable_batchedUpdates(() => {
setState1(prev => prev + 1);
setState2(prev => prev + 1);
});
}, 1000);

Без использования unstable_batchedUpdates React вызвал бы два ререндера, один для каждого setState. С помощью метода обновления объединяются в один ререндер, улучшая производительность приложения.

👉 @sWebDev
This media is not supported in your browser
VIEW IN TELEGRAM
Cyberpunk DigiPurge

Страница в стиле киберпанк на на Three.js.

👉 @sWebDev
2024/12/03 08:33:28
Back to Top
HTML Embed Code: