如何添加事件以响应组件?

时间:2020-02-14 23:13:34

标签: javascript reactjs

我正在使用反应颜色。它提供了两个内置事件:onChangeonChangeCompleteonChange在操作拾色器时实时触发,而onChangeComplete仅在静止不动时才触发。

但是,对于我来说,onChangeComplete仍然会频繁触发,因为它似乎有很短的超时时间(例如500毫秒左右),不仅是在释放鼠标按钮时。

我需要一个事件来真正完成选色并将其发送给所有需要了解它的组件。这就是用户释放鼠标按钮的时间。

<SketchPicker
    onChange={(color) => { //fires all the time as it should
       handleChange(color);
    }}
    onChangeComplete={(color) => { //fires when stopping mouse movement for a short time
         handleChangeComplete(color); //Ok for setting local component state variables
    }}
    onMouseUp={(color) => { //not firing at all
         handleFinalChange(color); //supposed to run, when the user released mouse to promote it to React
    }}
/>

onMouseUp应该是React提供的事件,它可以在普通div中工作,但由于某些原因,不能在此包提供的组件中使用。如何在此处向组件添加自定义事件?

1 个答案:

答案 0 :(得分:2)

您可以将库组件包装在div中并绑定onMouseUp,或者您需要修改该库的源代码。