我想在类属性中使用lodash但它总是返回null为值。我遵循了Perform debounce in React.js(第二个答案和第3号解决方案)
我的代码:
// func
handleSearchInput = debounce(e => {
console.log(e);
e.persist();
console.log(e.target);
}, 500);
// Render
<Input
type="text"
onKeyDown={this.handleSearchInput}
placeholder="Search..."
/>
我的所有console.log()
总是将我返回null。我想得到我的输入值。
任何解决方案?
答案 0 :(得分:1)
在调用persist
debounce
(或取消合成事件重新使用)
onKeyDown={e => {
e.persist();
this.handleSearchInput(e);
}}
答案 1 :(得分:0)
您打算使用lodash函数。您需要先导入或要求lodash并使用如下函数:
_.debounce(...)
您引用的示例使用名为debounce的自定义函数。
答案 2 :(得分:0)
您可以使用以下方法来持续合成事件:
onClick(event) {
event.persist();
setTimeout(() => {
consoloe.log(event);
}, 1000);
}
或者您可以复制事件对象:
onClick(event) {
const eventClone = { ...event };
setTimeout(() => {
consoloe.log(eventClone);
}, 1000);
}