Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Совет по Vue для тебя! 💡
Шаблоны захламлены кучей
В этом примере переменная
👉 Гайды по JavaScript | дать буст
Шаблоны захламлены кучей
v-if
и v-else
, чтобы выбрать, какой компонент отобразить? Наведи порядок с помощью динамических компонентов В этом примере переменная
activeTab
теперь хранит не строку, а сам компонент, так что можно просто написать:<Component :is="activeTab" />
Please open Telegram to view this post
VIEW IN TELEGRAM
linkedSignal()
в Angular — недостающее звено в реактивности, основанной на сигналах!1. Изменяемый, как обычный
signal
2. Реактивный, как
computed
3. Идеально подходит для таких сценариев, как сброс форм и управление состоянием
Больше никаких неудобных обходов через
effect()
!Посмотри, как это работает:
const quantity = linkedSignal({
source: () => ({ courseCode: this.selectedCourse() }),
compute: ({ courseCode }, previous) => {
const course = this.courses.find(c => c.code === courseCode);
return course ? course.defaultQuantity : previous ?? 1;
}
});
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Это было написано на JavaScript. Потрясающе!
Demo: http://my-room-in-3d.vercel.app
Code: http://github.com/brunosimon/my-room-in-3d
Наслаждайтесь!
👉 Гайды по JavaScript | дать буст
Demo: http://my-room-in-3d.vercel.app
Code: http://github.com/brunosimon/my-room-in-3d
Наслаждайтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Брутальная библиотека для Drag & Drop на JavaScript!
✓ Работает с React, Vue, Angular и Svelte
✓ Используется в Trello, Jira и Confluence
✓ Поддержка мобильных устройств
✓ Всего 4.7 KB веса
→
👉 Гайды по JavaScript | дать буст
✓ Работает с React, Vue, Angular и Svelte
✓ Используется в Trello, Jira и Confluence
✓ Поддержка мобильных устройств
✓ Всего 4.7 KB веса
→
npm install @atlaskit/pragmatic-drag-and-drop
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Не нужно оборачивать статические данные в
ref
или reactive
, только чтобы использовать их в шаблоне!Если данные не меняются — обычной переменной вполне достаточно.
Меньше реактивности — меньше потребление памяти и выше производительность.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Разработчики на Angular давайте: скажем «пока»:
и поприветствуем
Компоненты на основе сигналов уже здесь!
Реактивные входы, типобезопасные выходы и упрощённое двустороннее связывание.
Изучите полный гайд и прокачайте свои навыки — ок
👉 Гайды по JavaScript | дать буст
@Input()
, @Output()
и даже [(ngModel)]
(иногда) и поприветствуем
input(), output() и model()
Компоненты на основе сигналов уже здесь!
Реактивные входы, типобезопасные выходы и упрощённое двустороннее связывание.
Изучите полный гайд и прокачайте свои навыки — ок
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Вам нужно сверстать письмо? Не используйте таблицы!
React Email - это каталог компонентов, с помощью которых ваши письма будут выглядеть идеально в любом клиенте.
→
👉 Гайды по JavaScript | дать буст
React Email - это каталог компонентов, с помощью которых ваши письма будут выглядеть идеально в любом клиенте.
→
npx create-email
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Распространенные ошибки, которых следует избегать
1. Использование
2. Необработка ошибок при
👉 Гайды по JavaScript | дать буст
1. Использование
==
вместо ===
2. Необработка ошибок при
async/await
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Ошибки случаются — так дайте пользователю возможность отменить изменения =)
Передайте
ref
в useRefHistory
, чтобы получить функции undo
и redo
, которые восстанавливают предыдущее состояние. Отлично подходит для отслеживания изменений и работы со спискамиЭто не машина времени, но близко!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
Ускорь своё Angular-приложение
Тормозит приложение? Оптимизируй размер бандла с помощью этих шагов:
1. Найди, что тормозит:
Эта команда собирает прод-версию с сорс-мапами и визуализирует, какие модули занимают сколько места.
2. Ленивая загрузка всего, что можно
Компоненты будут загружаться только при необходимости, а не сразу при старте приложения.
3. Загружай компоненты по условию с помощью
Компонент появится только когда выполнится условие (например, пользователь авторизовался). Это снижает нагрузку на начальной загрузке.
👉 Гайды по JavaScript | дать буст
Тормозит приложение? Оптимизируй размер бандла с помощью этих шагов:
1. Найди, что тормозит:
npm install -g source-map-explorer
ng build --configuration production --source-map && source-map-explorer dist/browser/*.js
Эта команда собирает прод-версию с сорс-мапами и визуализирует, какие модули занимают сколько места.
2. Ленивая загрузка всего, что можно
loadComponent: () => import('./dashboard/dashboard.component')
.then(mod => mod.DashboardComponent),
Компоненты будут загружаться только при необходимости, а не сразу при старте приложения.
3. Загружай компоненты по условию с помощью
@defer
:@defer (when user.isLoggedIn) {
<profile-widget />
}
Компонент появится только когда выполнится условие (например, пользователь авторизовался). Это снижает нагрузку на начальной загрузке.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Вы начинаете изучать React.js?
Вот простая дорожная карта для начала работы
👉 Гайды по JavaScript | дать буст
Вот простая дорожная карта для начала работы
Please open Telegram to view this post
VIEW IN TELEGRAM
useKeyModifier
возвращает булевую ссылку (ref), которая указывает, активна ли клавиша блокировки (например, Caps Lock).Идеально подходит для предупреждения пользователей в формах входа и регистрации
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
Хочешь создать глобальный индикатор загрузки в Angular?
Вот краткое руководство:
1. Создай
2. Используй HTTP-перехватчик для автоматического включения и отключения спиннера при запросах к серверу
3. Интегрируй с маршрутизатором для плавного отображения загрузки при переходах между маршрутами
4 Настрой внешний вид спиннера с помощью проекции контента
👉 Гайды по JavaScript | дать буст
Вот краткое руководство:
1. Создай
Click Me Load MoreService
, чтобы управлять спиннером глобально2. Используй HTTP-перехватчик для автоматического включения и отключения спиннера при запросах к серверу
3. Интегрируй с маршрутизатором для плавного отображения загрузки при переходах между маршрутами
4 Настрой внешний вид спиннера с помощью проекции контента
Please open Telegram to view this post
VIEW IN TELEGRAM
Пользовательская аутентификация и авторизация для LangGraph.js
Добавьте аутентификацию промышленного уровня в свои развертывания LangGraph — без необходимости в отдельном backend или прокси.
Теперь доступно для LangGraph.js в облаке и в самостоятельных установках
👉 Гайды по JavaScript | дать буст
Добавьте аутентификацию промышленного уровня в свои развертывания LangGraph — без необходимости в отдельном backend или прокси.
Теперь доступно для LangGraph.js в облаке и в самостоятельных установках
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM