小窝后台全局消息组件

2023-12-28

今天给小窝后台项目增加了全局消息组件,实现与之前我 Vue 3 的版本类似,但有不同的点就是将事件触发换成了回调函数。React 组件挂载时注册一个,离开的时候销毁掉。每次添加一个消息的时候都会执行回调函数,将信息同步到 React 组件上,这样就可以将消息组件挂在顶层,任意子组件随时调用了。

// React 消息组件部分
useEffect(() => {
  const fn = (notice: NoticeItem) => {
    setItems((prevItems) => [...prevItems, notice]);
  };

  addFn(fn);

  return () => {
    removeFn(fn);
  };
}, []);

...

// 其他组件调用
add({
  title: "错误",
  content: `歌曲来源有问题!${err.message}`,
});
多云 开心
概览页 时间轴
奇趣音乐盒 技术源于 Kico Player
Emmm,这里是歌词君