Toastify — это лёгкая библиотека для создания всплывающих уведомлений (toasts) в веб-приложениях. Она позволяет быстро отображать сообщения пользователю с минимальной настройкой и без необходимости интегрировать сложные фреймворки уведомлений. Toastify ориентирована на простоту и гибкость: уведомления могут быть кастомизированы по стилю, позиции, времени отображения и поведению при взаимодействии.
Для использования Toastify необходимо подключить библиотеку в проект. Существует два основных способа:
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/toastify-js/src/toastify.min.css">
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/toastify-js"></script>
npm install toastify-js
И в коде:
import Toastify from 'toastify-js';
import "toastify-js/src/toastify.css";
Базовое уведомление создаётся вызовом функции Toastify()
с объектом конфигурации и последующим методом
.showToast().
Toastify({
text: "Это простое уведомление",
duration: 3000
}).showToast();
Ключевые параметры:
text — текст уведомления.duration — время отображения в миллисекундах. Если
указать -1, уведомление будет постоянным до закрытия
пользователем.Toastify позволяет размещать уведомления в различных частях экрана.
Для этого используется параметр gravity (вертикальная
позиция) и position (горизонтальная позиция):
Toastify({
text: "Уведомление в правом верхнем углу",
duration: 4000,
gravity: "top", // top или bottom
position: "right" // left, center, right
}).showToast();
Особенности позиционирования:
gravity и
position.center по горизонтали автоматически выравнивает
уведомление по центру.Стиль уведомлений можно менять с помощью CSS или параметра
style. Пример изменения фона, цвета текста и шрифта:
Toastify({
text: "Кастомное уведомление",
duration: 4000,
style: {
background: "linear-gradient(to right, #00b09b, #96c93d)",
color: "#fff",
fontSize: "16px",
borderRadius: "8px",
padding: "10px 20px"
}
}).showToast();
Особенности кастомизации:
background поддерживает градиенты.div..toastify и .toastify-content.Уведомления могут содержать интерактивные элементы, например, ссылки или кнопки:
Toastify({
text: "Перейти на сайт",
duration: 5000,
destination: "https://example.com",
close: true
}).showToast();
Параметры для взаимодействия:
destination — URL, на который будет вести клик по
уведомлению.close — отображает кнопку закрытия уведомления.Для выполнения произвольных действий при клике можно использовать
параметр onClick:
Toastify({
text: "Нажмите меня",
duration: 4000,
onClick: function() {
alert("Вы кликнули на уведомление");
}
}).showToast();
duration управляет временем отображения.duration: -1 делает уведомление
постоянным.close: true, чтобы
предоставить пользователю возможность закрыть уведомление вручную.Toastify легко интегрируется с любыми фронтенд-фреймворками (React, Vue, Angular). В React можно создавать отдельный компонент для уведомлений:
import React from "react";
import Toastify from "toastify-js";
import "toastify-js/src/toastify.css";
export const notify = (message) => {
Toastify({
text: message,
duration: 3000,
gravity: "top",
position: "right"
}).showToast();
};
Использование в компоненте:
<button onCl ick={() => notify("Привет, React!")}>Показать уведомление</button>
text с HTML-тегами (через настройку
escape: false).Toastify остаётся одним из самых быстрых и простых способов отображения уведомлений в веб-приложениях без необходимости внедрять громоздкие библиотеки UI.