Примеры кода для создания интерактивной доски задач в стиле Trello.
— HTML-разметка колонок и карточек задач
— CSS-стилизация с кастомными цветовыми тегами
— Drag & Drop через библиотеку SortableJS
— Профили задач с аватарами и датами
Готовый код для изучения и использования в проектах.
🔹 Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#readme #css #html #js
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🥰2👏2
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥1
Когда копируете объект через {...obj}, вложенные структуры остаются по ссылке. Меняете копию → меняется оригинал.
Ограниченный, но быстрый для простых структур
const clone = (obj) => JSON.parse(JSON.stringify(obj));
Современный универсальный API (Chrome 98+, Firefox 94+, Node 17+, Safari 15+)
const clone = (obj) => structuredClone(obj);
const addItem = (newItem) => {
const clonedState = structuredClone(state);
clonedState.items.push(newItem);
setState(clonedState);
};
⚠️ Глубокое копирование — дорогая операция. В React его используют точечно, а не для всего состояния. В крупных приложениях лучше использовать immer или нормализованные структуры данных.
— Копирование вложенных объектов и графов
— Redux / Zustand, когда нельзя мутировать state
— Снимки данных перед трансформациями
— Копирование конфигураций, где нет функций и методов
🔹 Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#readme #js #react
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍2🥰2
В чём разница:
— || реагирует на ВСЕ falsy (0, '', false, null, undefined)
— ?? реагирует ТОЛЬКО на null и undefined
— ?. безопасно идёт по цепочке, не бросая ошибок
API вернул
{ price: 0, inStock: false }
const price = product?.price ?? 99; // 0
const inStock = product?.inStock ?? true; // false
const name = product?.name ?? 'Unknown'; // undefined → 'Unknown’
#readme #js
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2🥰2🤔1