При переходе с других библиотек уведомлений на Toastify ключевыми аспектами являются различия в API, настройках, способах отображения и кастомизации уведомлений. Основное преимущество Toastify заключается в минимализме и простоте интеграции при сохранении гибкости.
Большинство популярных библиотек уведомлений используют функции вроде
notify() или show(). В Toastify используется
единый метод:
Toastify({
text: "Сообщение",
duration: 3000,
gravity: "top",
position: "right",
backgroundColor: "#4CAF50"
}).showToast();
Ключевые отличия:
success(), error()), тогда
как в Toastify это настраивается через объект.duration
задаёт время жизни уведомления. Если требуется постоянное уведомление,
duration: -1.gravity и
position. В других библиотеках часто
использовались строки вроде "top-right",
"bottom-left"; Toastify разделяет на вертикальную
(gravity) и горизонтальную (position)
оси.В старых библиотеках часто были готовые темы для success, info, warning, error. В Toastify кастомизация более гибкая:
Toastify({
text: "Ошибка загрузки",
duration: 5000,
gravity: "bottom",
position: "center",
style: {
background: "linear-gradient(to right, #ff5f6d, #ffc371)",
color: "#fff",
fontWeight: "bold",
borderRadius: "8px",
}
}).showToast();
Особенности:
style позволяет полностью контролировать CSS
уведомления.className позволяет подключать собственные классы CSS,
что облегчает миграцию с библиотек, где темы задавались через
классы.stopOnFocus позволяет замораживать таймер удаления при
наведении мыши.Примеры миграции с common API:
| Старый вызов | Toastify эквивалент |
|---|---|
toastr.success("Готово") |
Toastify({text: "Готово", backgroundColor: "#4CAF50"}).showToast(); |
toastr.error("Ошибка") |
Toastify({text: "Ошибка", backgroundColor: "#F44336"}).showToast(); |
noty({type:"warning", text:"Внимание"}) |
Toastify({text: "Внимание", backgroundColor: "#FFC107"}).showToast(); |
Преимущества: единая функция замещает разные методы, сокращается зависимость от типа уведомления, гибкость через стиль и позиционирование.
Toastify предоставляет ограниченные события, но достаточно для большинства сценариев:
onClick – действие при клике по уведомлению.callback – функция, вызываемая при завершении показа
уведомления (срабатывает после duration).Пример миграции обработчиков:
// Старый код:
toastr.info("Сообщение", "Заголовок", {
onclick: function() { console.log("Клик!"); }
});
// Toastify:
Toastify({
text: "Сообщение",
duration: 4000,
onClick: function() { console.log("Клик!"); }
}).showToast();
В старых библиотеках уведомления часто автоматически накладывались одно на другое. В Toastify:
new Toastify(...).showToast() создаёт
новый экземпляр.const activeToasts = [];
function showCustomToast(msg) {
if (activeToasts.length >= 3) {
activeToasts.shift().hideToast();
}
const toast = Toastify({text: msg, duration: 3000});
activeToasts.push(toast);
toast.showToast();
}
style
или className.onClick и callback, что упрощает логику.Старый код на toastr:
toastr.success("Данные сохранены!");
toastr.error("Ошибка сервера");
toastr.warning("Проверьте поля");
toastr.info("Загрузка данных...");
Мигрированный код на Toastify:
Toastify({text: "Данные сохранены!", backgroundColor: "#4CAF50"}).showToast();
Toastify({text: "Ошибка сервера", backgroundColor: "#F44336"}).showToast();
Toastify({text: "Проверьте поля", backgroundColor: "#FFC107"}).showToast();
Toastify({text: "Загрузка данных...", backgroundColor: "#2196F3", duration: -1}).showToast();
Преимущество: меньше кода, полный контроль над стилем и временем жизни уведомлений.
Миграция на Toastify позволяет отказаться от множества методов и зависимостей, централизовать управление уведомлениями и внедрить гибкие стили, сохраняя привычную семантику уведомлений.