将 Lodash _.throttle() 与 ReactJS 结合使用

Using Lodash _.throttle() with ReactJS

我正在尝试使用 Lodash 节流功能来节流文本输入上的 onChangeText 事件。但这似乎没有任何区别:

<TextInput {...this.c('tokenInput')}
    onChangeText={ _.throttle((text) => {
        this.onChangeText(text)
    }, 1000) }
    value={this.state.text}
    placeholder='Select...'
/>

我怎样才能完成这项工作?每次我在输入中输入内容时,每次更改都会继续执行 onChangeText()。

onChange 必须是一个函数,但在您的上下文中它是一个函数调用。所以要解决这个问题,你必须这样做:

<TextInput {...this.c('tokenInput')}
    onChangeText={ text => _.throttle(x => {
        this.onChangeText(x)
    }, 1000)(text) }
    value={this.state.text}
    placeholder='Select...'
/>