lodash.debounce搜索反应js

Pet*_*ren 1 javascript debouncing lodash reactjs

我试图使用lodash,debounce来反复搜索.

但是当它运行时我收到了类型错误

TypeError: Cannot read property 'debounce' of undefined

我试过在代码中移动它但无法理解为什么它不起作用

我开始导入它

import { _, debounce } from 'lodash'

我有一个输入如下

<input
    type="text"
    value={this.state.query}
    onChange={(e) => {this.updateQuery(e.target.value)}}
    placeholder="Search by title or author"
/>
Run Code Online (Sandbox Code Playgroud)

连接到此功能

updateQuery = (query) => {
    _.debounce(() => query(this.setState({ query }), 500))
    this.onBookSearch(query)
}
Run Code Online (Sandbox Code Playgroud)

有谁知道这是为什么?

Aus*_*eco 5

我认为你的导入是问题所在.您可能想要导入_默认值:

import _, {debounce} from 'lodash';
Run Code Online (Sandbox Code Playgroud)

你也没有使用提取的函数:

updateQuery = (query) => {
  debounce(() => query(this.setState({ query }), 500))
  this.onBookSearch(query)
}
Run Code Online (Sandbox Code Playgroud)

由于您{debounce}在导入中解压缩,因此可以直接使用它.