不想组件之间通信想要通过状态组件实现,比如:zustand, mobx 这样的状态库, 想要使用事件监听库,请问是否有推荐呢?
有一个需求,就是在React 页面中,比如有2个子组件,A和B,我想要通过一个三方库实现,B组件监听一个事件,A组件触发发送事件消息。①不想要通过React默认的组件间通信实现②也不想通过状态组件实现,比如:zustand, mobx 这样的状态库,想要使用事件监听库,请问是否有推荐呢?
请问
回复
1个回答
test
2024-07-07
使用 CustomEvent
父组件:
const eventName = `event-${Math.random()}`
return <div>
<CompA eventName={eventName} />
<CompB eventName={eventName} />
</div>
组件 A:
dispatchEvent(new CustomEvent(eventName))
组件 B:
addEventListener(eventName, (e) => console.log(e))
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容