Toast
组件位于 packages/semi-ui/toast/index.tsx
文件默认导出一个 ToastList
类,实际项目中使用的是这个 ToastList
类的静态方法 info
, warning
, error
, success
而他们是由 create
方法创建,这个方法判断页面中是否有 ToastList
组件,没有则新建一个 ToastList
,否则直接在现有 ToastList
添加元素。
添加,删除,更新这些操作使用 foundation
进行,这个 foundation
属性是 ToastList
的核心。
在构造器方法看到 foundation
属性是一个接受一个 adapter
的 ToastListFoundation
实例,需要看看这个 ToastListFoundation
是啥。
ToastListFoundation
实际上维护的是数组 ToastList.state.list
通过 add
和 update
方法添加和更新 toastOpts
最后这个数组的数据用于 ToastList
的 render
方法渲染每一个 Toast
本文完。