【发布时间】:2020-12-19 05:53:54
【问题描述】:
我正在尝试使用 Lodash 的 debounce 函数来消除文本输入字段更改的抖动。
import React from "react";
import debounce from 'lodash.debounce';
const Input = () => {
const onChange = debounce((e) => {
const { value } = e.target;
console.log('debounced value', value)
}, 1000)
return (
<input type="text" onChange={ onChange } />
)
};
上面的代码抛出以下错误:
警告:出于性能原因,此合成事件会被重复使用。如果您看到这一点,则表示您正在访问已发布/无效合成事件上的属性目标。这设置为空。如果您必须保留原始合成事件,请使用 event.persist()。
未捕获的类型错误:无法读取 null 的属性“值”
什么是正确的实现方式?
【问题讨论】:
-
您需要在输入标签中发送值。参考这篇文章的示例实现:medium.com/@rajeshnaroth/…
标签: javascript reactjs lodash debouncing