我有一个JS功能,我需要在我的React App中运行。
该函数将一个mousemove事件监听器添加到' body'然后将鼠标按下和鼠标按下事件发送到'窗口'最后,我们改变了依赖于eventListeners的元素的样式。
我真的不知道这个功能会去哪里,或者它将被导入和使用的位置?
从我的研究中得出了两件事:
"因此要么在全局范围(aka窗口)上定义方法。然后你可以从任何方法使用它,无论是否是React。"
你究竟会这样做。那会是某种' bundle.js'哪个包含在index.html文件中?我已经设置了webpack.config,为我的反应组件创建了一个bundle.js。
"或者您可以切换到基于模块的范例,并使用require / import来获取模块并使用该功能。"
好的,但是有问题的javascript函数跨越几个不同的组件?也许我可以在" body"上听老鼠移动事件。但是我如何在另一个组件中动态设计另一个元素?
非常感谢您的帮助?
答案 0 :(得分:1)
首先,我认为如果您要添加外部库来操作dom,则会因为reactjs使用虚拟dom而遇到问题。这取决于功能的实现方式。
但是,如果该函数实现得很好,您可以将它作为脚本添加到public / index.html中,然后您可以从window.yourFunctionOrWhatEver中使用它,也可以作为函数调用。
但是,如果我是你,我会使用reactjs事件实现我自己的功能。这里列出了它们:
onClick onContextMenu onDoubleClick onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp
再见!