封装事件订阅来进行非父子组件的传值(React)
Posted ayujun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了封装事件订阅来进行非父子组件的传值(React)相关的知识,希望对你有一定的参考价值。
const list={}
// 将事件名和事件函数装进事件池里
function $on(name,func) {
if(!name || !func) return;
if(!Object.keys(list).includes(name)){
list[name]=func;
}
}
// 根据事件名称搜索事件池 找到执行
function $emit(name,...arg) {
if(!name) return;
if(Object.keys(list).includes(name)){
list[name](...arg)
}
}
// 执行完并且不在需要后 清除事件
function $off(name) {
if(!name) return;
if(Object.keys(list).includes(name)){
list[name]=null;
delete list[name]
}
}
export {
$on,
$emit,
$off,
}
以上是关于封装事件订阅来进行非父子组件的传值(React)的主要内容,如果未能解决你的问题,请参考以下文章