将事件从 jQuery 插件转发到 React 组件?

Forward events from a jQuery plugin to a React component?

假设我有一个主要用 React 编写的项目,我想添加一个 dropdown from Semantic UI。是否有可能以某种方式互操作它们?我的意思是应该有一个 React 组件在 componentDidMount 上调用 $('.ui.dropdown').dropdown() 然后以某种方式将 jQuery 事件转发给 React,从而保持状态同步。那可能吗?我知道它可能会导致性能问题,但如果没有与现有 jQuery 插件做同样事情的 React 组件,它仍然可能有用。

没有银弹 afaik,jQuery "plugins" 倾向于做很多 DOM 操作,这些操作不能很好地与 React 的虚拟 DOM 比较。

一些插件也会在它自己的元素之外进行 DOM 操作,f.ex 模态将节点附加到 document.body 或其他地方。

如果您对该插件及其功能有一点了解,您也许可以手动创建这样一个组件 "bridge",它还可以侦听 jQuery 事件并调用组件生命周期方法,但我认为您必须为每个插件手动执行此操作。