Библиотека Toastify претерпела ряд значительных изменений в последних версиях, которые могут повлиять на существующий код. Раздел «Breaking changes» описывает эти изменения подробно, с акцентом на корректное обновление проектов.
Некоторые опции, которые использовались в предыдущих версиях, были полностью удалены:
position: "left" и position: "right"
Ранее Toast можно было выравнивать по левому или правому краю. В новых
версиях поддерживаются только top и bottom с
дополнительными подопциями left, center и
right через объект gravity и
anchor.
stopOnFocus Опция, останавливающая исчезновение
тоста при наведении курсора, заменена на новый механизм через
pauseOnHover: true/false. Это изменение важно, так как
старая опция больше не распознается.
Ранее уведомления создавались через:
Toastify({
text: "Hello World",
duration: 3000
}).showToast();
Теперь рекомендуется использовать обновленный API с более явной структурой опций:
Toastify.toast({
message: "Hello World",
duration: 3000,
gravity: "top",
position: "right",
style: {
background: "linear-gradient(to right, #00b09b, #96c93d)"
},
close: true
});
Ключевые изменения:
showToast() заменен на toast()text → messageclose, управляющий кнопкой
закрытия.toastify была
пересмотрена. Для кастомизации теперь рекомендуется использовать объект
style при создании уведомления.theme: "dark" и "light")
больше не используются. Настройка цветов происходит исключительно через
style или CSS-переменные.Пример новой кастомизации:
Toastify.toast({
message: "Событие успешно выполнено",
duration: 4000,
style: {
background: "#4caf50",
color: "#ffffff",
fontWeight: "bold",
borderRadius: "8px"
}
});
В старых версиях можно было задавать top-left,
bottom-right через строку position. Сейчас
позиционирование стало более гибким:
Toastify.toast({
message: "Тост внизу слева",
gravity: "bottom", // top | bottom
position: "left" // left | center | right
});
gravity определяет вертикальное положение
(top или bottom)position определяет горизонтальное выравнивание
(left, center, right)gravity + position заменяет старую строковую
формуРанее можно было задавать глобальные параметры через
Toastify.defaults. В новых версиях глобальные настройки не
поддерживаются напрямую, вместо этого создается конфигурация через
вспомогательную функцию или обертку:
function createToast(options) {
return Toastify.toast({
gravity: "top",
position: "right",
duration: 3000,
...options
});
}
createToast({ message: "Привет!" });
createToast({ message: "Ошибка!", style: { background: "#f44336" } });
Такой подход обеспечивает изоляцию конфигураций и предотвращает конфликты между различными частями приложения.
Поддержка колбэков onClick и onClose
осталась, но способ их передачи изменился:
Toastify.toast({
message: "Нажмите для действия",
duration: 5000,
close: true,
onClick: () => console.log("Тост нажат"),
onClose: () => console.log("Тост закрыт")
});
onClick срабатывает при нажатии на весь элемент
уведомленияonClose срабатывает при закрытии, независимо от
причиныtimeout в миллисекундах)
остаются, но были уточнены условия завершения анимацииЭти изменения требуют внимательного пересмотра существующих проектов. Основные направления обновления:
stopOnFocus,
text, position в старом виде).Toastify.toast().style для кастомизации внешнего
вида.gravity + position вместо старой
строковой позиции.Toastify.defaults.Следуя этим принципам, можно избежать конфликтов и полностью использовать возможности новой версии библиотеки.