我正在尝试将使用 lodash 的去抖动添加到从输入 onChange 事件调用的搜索函数中。下面的代码生成一个类型错误’函数是预期的’,我理解这是因为 lodash 需要一个函数。这样做的正确方法是什么,可以全部内联吗?到目前为止,我已经尝试了几乎所有关于 SO 的示例,但均无济于事。
search(e){
let str = e.target.value;
debounce(this.props.relay.setVariables({ query: str }), 500);
},
原文由 Michael Kaufman 发布,翻译遵循 CC BY-SA 4.0 许可协议
debounce 函数可以在 JSX 中内联传递或直接设置为类方法,如下所示:
小提琴: https ://jsfiddle.net/woodenconsulting/69z2wepo/36453/
如果您使用的是 es2015+,您可以在
constructor
或像componentWillMount
这样的生命周期方法中直接定义您的去抖方法。例子: