Bottleneck
Bottleneck — это библиотека для управления параллельными запросами в Node.js. Она предоставляет простой способ управления количеством одновременно выполняемых асинхронных операций, что помогает избежать перегрузки системы и эффективно распределять ресурсы.
👉 @sWebDev
Bottleneck — это библиотека для управления параллельными запросами в Node.js. Она предоставляет простой способ управления количеством одновременно выполняемых асинхронных операций, что помогает избежать перегрузки системы и эффективно распределять ресурсы.
👉 @sWebDev
👍4
Гибкая предварительная загрузка данных в SPA
Статья рассказывает о создании кастомного скрипта для предварительной загрузки данных в одностраничных приложениях (SPA). Автор объясняет, как это помогает ускорить загрузку приложений, делая запросы на получение данных параллельно с загрузкой страницы.
👉 @sWebDev
Статья рассказывает о создании кастомного скрипта для предварительной загрузки данных в одностраничных приложениях (SPA). Автор объясняет, как это помогает ускорить загрузку приложений, делая запросы на получение данных параллельно с загрузкой страницы.
👉 @sWebDev
👍2
Quixote
Quixote — это JavaScript-библиотека, предназначенная для тестирования пользовательских интерфейсов. Она позволяет создавать изолированные среды (фреймы) для тестирования компонентов HTML, CSS и JavaScript. Quixote позволяет проверять внешний вид и поведение интерфейсов в различных условиях, обеспечивая точность и кроссбраузерную совместимость.
👉 @sWebDev
Quixote — это JavaScript-библиотека, предназначенная для тестирования пользовательских интерфейсов. Она позволяет создавать изолированные среды (фреймы) для тестирования компонентов HTML, CSS и JavaScript. Quixote позволяет проверять внешний вид и поведение интерфейсов в различных условиях, обеспечивая точность и кроссбраузерную совместимость.
👉 @sWebDev
🔥4
Создание контекста в React
Что используется для создания контекста в React?
Если забыли, то вернитесь к посту от12.08.2024 .
👉 @sWebDev
Что используется для создания контекста в React?
Если забыли, то вернитесь к посту от
👉 @sWebDev
❤2
Что используется для создания контекста в React?
Anonymous Quiz
4%
React.createState.
31%
React.useContext.
64%
React.createContext.
2%
React.useReducer.
Создание кастомных валидаторов с ValidatorFn
Пример кастомного валидатора, который проверяет, начинается ли значение с определенной буквы:
Валидатор проверяет, что значение поля name начинается с буквы "A".
👉 @sWebDev
ValidatorFn
— это функция, которая принимает AbstractControl
(например, FormControl
) и возвращает null
, если данные валидны, или объект с ошибкой, если нет.Пример кастомного валидатора, который проверяет, начинается ли значение с определенной буквы:
import { AbstractControl, ValidatorFn } from '@angular/forms';
export function startsWithLetterValidator(letter: string): ValidatorFn {
return (control: AbstractControl): { [key: string]: any } | null => {
const startsWithLetter = control.value?.startsWith(letter);
return startsWithLetter ? null : { startsWithLetter: { value: control.value } };
};
}
Применение валидатора:
import { FormBuilder, Validators } from '@angular/forms';
import { startsWithLetterValidator } from './validators/starts-with-letter.validator';
this.form = this.fb.group({
name: ['', [Validators.required, startsWithLetterValidator('A')]]
});
Валидатор проверяет, что значение поля name начинается с буквы "A".
👉 @sWebDev
👍4
Gun.js
Gun.js — это библиотека JavaScript, предназначенная для создания децентрализованных графовых баз данных, поддерживающих работу в реальном времени. Gun.js используется для разработки приложений, которые могут синхронизироваться между разными устройствами без необходимости наличия центрального сервера, что делает её полезной для создания P2P-приложений и оффлайн-функциональности.
👉 @sWebDev
Gun.js — это библиотека JavaScript, предназначенная для создания децентрализованных графовых баз данных, поддерживающих работу в реальном времени. Gun.js используется для разработки приложений, которые могут синхронизироваться между разными устройствами без необходимости наличия центрального сервера, что делает её полезной для создания P2P-приложений и оффлайн-функциональности.
👉 @sWebDev
👍3
Глубокое погружение в формы в современном React
Статья подробно рассматривает создание форм в современном React без использования сторонних библиотек. Автор описывает основные методы работы с формами, такие как использование POST запросов, управление состоянием формы, асинхронная обработка данных, и оптимистичное обновление интерфейса.
👉 @sWebDev
Статья подробно рассматривает создание форм в современном React без использования сторонних библиотек. Автор описывает основные методы работы с формами, такие как использование POST запросов, управление состоянием формы, асинхронная обработка данных, и оптимистичное обновление интерфейса.
👉 @sWebDev
👍4
Rivets.js
Rivets.js – это библиотека для привязки данных (data-binding) в JavaScript, которая позволяет легко связывать данные с HTML элементами. Она работает по принципу MVVM (Model-View-ViewModel) и обеспечивает двустороннюю привязку данных.
👉 @sWebDev
Rivets.js – это библиотека для привязки данных (data-binding) в JavaScript, которая позволяет легко связывать данные с HTML элементами. Она работает по принципу MVVM (Model-View-ViewModel) и обеспечивает двустороннюю привязку данных.
👉 @sWebDev
👍3
Работа с ComponentFactoryResolver в Angular
Для чего используется
Если забыли, то вернитесь к посту от19.08.2024 .
👉 @sWebDev
Для чего используется
ComponentFactoryResolver
в Angular?Если забыли, то вернитесь к посту от
👉 @sWebDev
👍2
Для чего используется ComponentFactoryResolver в Angular?
Anonymous Quiz
12%
Для создания статических компонентов.
67%
Для управления динамическими компонентами.
17%
Для изменения шаблона компонента.
4%
Для добавления стилей к компоненту.
👍3
Оптимизация производительности в Angular
1. Изменение входного свойства (
2. Событие внутри компонента (например, клик по кнопке).
3. Использование асинхронного пайпа для подписки на Observable или
Для использования этой стратегии, в декораторе компонента нужно задать свойство
В примере компонент
👉 @sWebDev
ChangeDetectionStrategy.OnPush
работает по принципу, что изменения в компоненте должны происходить только в следующих случаях:1. Изменение входного свойства (
@Input
).2. Событие внутри компонента (например, клик по кнопке).
3. Использование асинхронного пайпа для подписки на Observable или
Promise
.Для использования этой стратегии, в декораторе компонента нужно задать свойство
changeDetection
:import { Component, ChangeDetectionStrategy, Input } from '@angular/core';
@Component({
selector: 'app-user',
template: `
<div>
<p>{{ user.name }}</p>
</div>
`,
changeDetection: ChangeDetectionStrategy.OnPush
})
export class UserComponent {
@Input() user: { name: string };
}
В примере компонент
UserComponent
будет проверять изменения только тогда, когда свойство user
изменяется. Это значит, что если родительский компонент обновляется, но свойство user остается неизменным, UserComponent
не будет проходить процесс проверки изменений.👉 @sWebDev
👍5