event-bus2 是一个事件发布订阅工具。
安装
npm i event-bus2
基础使用
需引入:
import Bus from 'event-bus2';
//订阅
Bus.$on('订阅方法名称',(args)=>{
// handle
});
//发布
Bus.$emit('订阅方法名称',args);
//取消订阅
Bus.$off('订阅方法名称');
注意: 因为订阅的方法存在闭包,所以如果想要在订阅方法回调中使用最新的变量(如reacr中 redux的值),编码可以如下
或者使用event-bus-hooks 中的useEventBus
useEffect(() => {
//订阅
Bus.$on('订阅方法名称',(args)=>{
console.log(reduxData);
});
return ()=>{
// 取消订阅,防止重复订阅.
Bus.$off('订阅方法名称');
}
}, [reduxData]);
开源协议
event-bus2 遵循 MIT 协议。