我正在使用React编写一个Drag Component,有一个“handle”属性来定义使用{propTypes'为PropTypes.oneOfType([PropTypes.node, PropTypes.string])
的拖动句柄,意味着你可以使用节点或节点选择器的字符串
问题是,当我使用选择器字符串时,我只能使用querySelectorAll
来获取节点,然后使用addEventListener
来绑定事件,我认为这是一种不好的方式。原因如下:
当我的组件发生变化时,React会做一些差异化工作,然后用最好的方式更新我的DOM,这意味着,我带有选择器的节点可能只是为了“最佳方式”而改为另一个节点(例如:React just需要更改我的节点的属性,它可以通过这种“最佳方式”将我的节点转换为“另一个”。