最轻量的react toast

背景

本人主要是做ToC的项目,很多时候需要toast提示,类似于 vant、antd-mobile 的 toast,但是PC的UI库都没有提供Toast。

而react生态中,比较流行的 react-hot-toast,react-toastify 又不适合业务场景,所以手撸了一个非常轻量的无头toast。

在线示例

点击这里

使用方式

安装

css 复制代码
npm i react-atom-toast

初始化

保持最小和高度定制化的原则,react-atom-toast默认不带任何样式,需要自行定义,所以有个初始化行为

使用 setDefaultOptions初始化默认选项

tsx 复制代码
import { toast } from 'react-atom-toast'

toast.setDefaultOptions({
  className: 'bg-black text-white p-2 rounded',
})

使用

使用方式很简单,可以只传内容,也可以传对象

tsx 复制代码
import { toast } from 'react-atom-toast'

toast('你好')

toast({
  content: 'Hello, world!',
  transition: 'fade-up',
})

配置项

react-atom-toast提供了一些配置供自定义,比如:

duration

toast显示的时长

maxCount

同时最多展示多少个toast。如果想要vant那种效果的话,就设置成1即可。建议在 setDefaultOptions中初始化,避免每次都传

transiton

toast的过渡动画,默认是 'fade',也支持 'fade-down'、'fade-up'、'pop-top' 等等常见的动画。都是预设好的,能力由 react-transiton-preset提供,也是轻量的动画库,预设了许多常用动画

最后

ToC项目通常比较看重交互的一致性,所以在PC、移动端上为了保持更好的统一,尽量不会使用多个UI库,比如antd和antd-mobile最好不混用。这样既能减少构建体积,也能提升交互一致性和开发维护性~

项目地址

相关推荐
西安小哥14 分钟前
破局与重生:大厂前端如何借力 AI 转型“超级全栈“
前端·人工智能
sunly_1 小时前
TypeScript总结:16、面向对象速查
前端·javascript·typescript
张元清1 小时前
React useInterval Hook:没有过期闭包的 setInterval (2026)
javascript·react.js
MXN_小南学前端1 小时前
React超长文本域中实现“返回顶部”浮动按钮
前端·javascript·react.js
学习嵌入式的小周1 小时前
Notepad++8.8.7下载安装(附安装包)
前端·notepad++
gs801401 小时前
解构 Cordis:面向“时空可组合性”的 TypeScript 元框架深度剖析
前端·javascript·typescript
Highcharts.js2 小时前
Highcharts大数据渲染模块Boost实战与参数最佳实践表
javascript·数据可视化·boost·highcharts·大数据渲染·加速配置·参数表
岁岁种桃花儿2 小时前
Vue核心语法第一篇:Vue是什么?
前端·javascript·vue.js
Highcharts.js2 小时前
数据可视化避坑指南 ——开发中常见图表错误与修复方案
javascript·信息可视化·数据可视化·highcharts·数据可视化避坑·修复方案
观无3 小时前
若依EasyExcel实现单元格合并
开发语言·前端·javascript