不想组件之间通信想要通过状态组件实现,比如:zustand, mobx 这样的状态库, 想要使用事件监听库,请问是否有推荐呢?

作者站长头像
站长
· 阅读数 7

有一个需求,就是在React 页面中,比如有2个子组件,A和B,我想要通过一个三方库实现,B组件监听一个事件,A组件触发发送事件消息。①不想要通过React默认的组件间通信实现②也不想通过状态组件实现,比如:zustand, mobx 这样的状态库,想要使用事件监听库,请问是否有推荐呢?

请问

不想组件之间通信想要通过状态组件实现,比如:zustand, mobx 这样的状态库, 想要使用事件监听库,请问是否有推荐呢?

回复
1个回答
avatar
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))
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容