В контексте Frontend-разработки,
dispatch
— это метод, который отправляет (диспатчит) событие или действие. В зависимости от технологии dispatch
может использоваться в Redux, EventTarget или React. В Redux
dispatch(action)
используется для отправки (диспатча) действий (actions) в хранилище (store). import { useDispatch } from 'react-redux';
const Counter = () => {
const dispatch = useDispatch();
return (
<button onClick={() => dispatch({ type: 'INCREMENT' })}>
Увеличить
</button>
);
};
В нативном JavaScript метод
dispatchEvent()
используется для генерации пользовательских событий на DOM-элементах. const button = document.querySelector("button");
// Создаём событие
const event = new Event("myCustomEvent");
// Добавляем слушатель событий
button.addEventListener("myCustomEvent", () => {
console.log("Событие вызвано!");
});
// Диспатчим событие
button.dispatchEvent(event); // Выведет: "Событие вызвано!"
В React-хуке
useReducer
dispatch
используется для изменения состояния компонента. import { useReducer } from 'react';
const reducer = (state, action) => {
switch (action.type) {
case 'increment':
return { count: state.count + 1 };
default:
return state;
}
};
const Counter = () => {
const [state, dispatch] = useReducer(reducer, { count: 0 });
return (
<button onClick={() => dispatch({ type: 'increment' })}>
{state.count}
</button>
);
};
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Для генерации отчётов в разных форматах используют разные подходы:
- CSV — формируется из данных в виде строк, разделённых запятыми или точками с запятой, обычно это просто текстовая сериализация табличных данных.
- HTML — отчёт можно рендерить через шаблонизаторы или прямо в DOM, если речь про frontend.
- PDF — создаётся с помощью библиотек (например, jsPDF, Puppeteer в JS, ReportLab в Python), которые преобразуют HTML или структурированные данные в документ.
Приложение может предоставлять пользователю возможность выбора формата, а контроллер — вызывать соответствующий генератор.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Промисы (
Promise
) относятся к асинхронным объектам, реализующим паттерн "Promise". Они позволяют работать с отложенными и асинхронными операциями (например, сетевые запросы, таймеры, операции с файлами). Категория: Асинхронные программные конструкции (Async Objects / Async Patterns)
Тип: Объект (Promise Object)*
Используются в: Асинхронном программировании (Async/Await,
then/catch
) Промисы не выполняются сразу, а ждут завершения операции, после чего выполняют код в
.then()
или .catch()
. const fetchData = new Promise((resolve, reject) => {
setTimeout(() => {
resolve("Данные загружены!"); // Успех
}, 2000);
});
fetchData.then(data => console.log(data));
До появления
Promise
в JavaScript использовались колбэки, но они приводили к "callback hell". function fetchData(callback) {
setTimeout(() => {
callback("Данные загружены!");
}, 2000);
}
fetchData(data => console.log(data));
Решение с
Promise
fetchData()
.then(data => console.log(data))
.catch(error => console.error(error));
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
1. Запрос к серверу: отправляет HTTP/HTTPS-запрос для получения веб-страницы.
2. Парсинг данных: создаёт DOM из HTML и CSSOM из CSS.
3. Рендеринг: объединяет DOM и CSSOM в Render Tree, выполняет раскладку и отрисовку.
4. JavaScript: интерпретируется для динамических изменений и взаимодействий.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Материалы для разработчиков, которые помогут получить оффер от 200тыс до 350тыс₽ и успешной пройти испытательный срок.
[Гайд] Как упаковать резюме разработчику, чтобы звали на собеседования?
[Скрипт] Что говорить на интервью, чтобы каждый второй собес заканчивался оффером 200к+?
[Статья] Откровения СТО.. самый короткий путь разработчика к большим деньгам
[Разбор] Где искать валютную удаленку? Учимся работать с LinkedIn
Канал ведет СТО с 13-ти летним стажем.
Поэтому в текстах куча тонкостей, как готовиться и проходить собесы в 2025 году.
Подписывайтесь и читайте закреп с бонусами.
[Гайд] Как упаковать резюме разработчику, чтобы звали на собеседования?
[Скрипт] Что говорить на интервью, чтобы каждый второй собес заканчивался оффером 200к+?
[Статья] Откровения СТО.. самый короткий путь разработчика к большим деньгам
[Разбор] Где искать валютную удаленку? Учимся работать с LinkedIn
Канал ведет СТО с 13-ти летним стажем.
Поэтому в текстах куча тонкостей, как готовиться и проходить собесы в 2025 году.
Подписывайтесь и читайте закреп с бонусами.
Оба подхода используются в веб-разработке для обеспечения доступности и совместимости веб-приложений на разных устройствах и браузерах.
Сначала создаём простую, но рабочую версию сайта, которая работает на всех устройствах и браузерах. Затем добавляем улучшения (CSS-анимации, сложный JavaScript), которые работают только в современных браузерах.
Сначала создаём полнофункциональную версию с последними технологиями. Затем добавляем fallback'и (упрощённые версии) для старых браузеров.
Используем CSS Grid, но добавляем
@supports
для fallback'а на FlexboxПриложение на React, но показываем простой HTML, если JavaScript отключён.
Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM