Reactjs 如何为React上的输入类型颜色创建自己的onChangeComplete函数

Reactjs 如何为React上的输入类型颜色创建自己的onChangeComplete函数,reactjs,input,colors,react-color,Reactjs,Input,Colors,React Color,具有反应颜色。 我可以使用现成的onChangeComplete功能来反应颜色 但我想知道如何使用输入类型的颜色标记创建onchangeplete。 我尝试了模糊,但在用户单击或按tab键之前颜色不会改变 另一方面,使用onChange可以不断触发更新。 因为目前我使用的是redux状态,所以当我拖动并选择颜色时,不断发送更新不是一个好方法 如何创建onChangeComplete?这取决于您希望如何定义更改。为了防止每次鼠标移动时都进行连续更新,您可能希望仅在鼠标停止移动时更新Redux状态。

具有反应颜色。
我可以使用现成的onChangeComplete功能来反应颜色

但我想知道如何使用输入类型的颜色标记创建onchangeplete。 我尝试了模糊,但在用户单击或按tab键之前颜色不会改变

另一方面,使用onChange可以不断触发更新。
因为目前我使用的是redux状态,所以当我拖动并选择颜色时,不断发送更新不是一个好方法


如何创建onChangeComplete?这取决于您希望如何定义更改。为了防止每次鼠标移动时都进行连续更新,您可能希望仅在鼠标停止移动时更新Redux状态。(这似乎是网络上的行为)

您可以使用以下JavaScript来检测鼠标何时停止移动:

let timer;

window.addEventListener('mousemove', function (e) {
  console.log('Mouse moving');
  clearTimeout(timer);
  timer = setTimeout(() => console.log('Mouse stopped'), 300);
});
然后,尝试将上述代码放入
ComponentDidMount()
方法中,并用您想要调度的任何Redux操作替换
console.log('Mouse stopped')

300
是触发操作的不移动毫秒数,可以根据您希望应用程序的敏感程度进行更改

最后,记住在您的
组件willunmount()
方法中使用

下面是如何在完成更改时实现react color的代码。 它是使用去盎司硬编码的。
我将链接放在那里,供有兴趣使用该解决方案的人使用

感谢您的解决方案。我试试看。无论如何,我已经找到了另一种解决方案,它可以反应颜色,实际上是使用去盎司。我已经为对此感兴趣的人发布了下面的答案。关于您的解决方案,我们如何将mousemove事件添加到弹出的本机颜色选择器中?如果您使用的是React类组件,您可以将上面的代码合并到
ComponentDidMount()
方法中,然后触发一个函数来读取该点的颜色值并更新状态。您好,我面临同样的问题,您能给出一些如何解决这个问题的示例代码吗?非常感谢。