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()
方法中,然后触发一个函数来读取该点的颜色值并更新状态。您好,我面临同样的问题,您能给出一些如何解决这个问题的示例代码吗?非常感谢。