只要用户输入内容,在React中使用Lodash防反跳功能就可以防止请求数据

只要用户输入内容,在React中使用Lodash防反跳功能就可以防止请求数据,第1张

只要用户输入内容,在React中使用Lodash防反跳功能就可以防止请求数据

好吧,用lodash很容易

_.debounce

您用它包装方法并传递要等待的毫秒数。
至于输入的最小长度,仅当长度大于2时才调用new方法。

这是一个小的运行示例:

class App extends React.Component {  constructor(props) {    super(props);    this.state = {      message: '',      inputValue: ''    };    this.updateMessage = _.debounce(this.updateMessage, 2000);  }  onChange = ({ target: { value } }) => {    this.setState({ inputValue: value });    if (value.length > 2) {      this.updateMessage(value);    }  }  updateMessage = message => this.setState({ message });  render() {    const { message, inputValue } = this.state;    return (      <div>        <input placeholder="type something..." value={inputValue} onChange={this.onChange} />        <hr/>        <div>server call >> wait 2 seconds & min length of 2</div>        <p>{message}</p>      </div>    );  }}ReactDOM.render(<App />, document.getElementById('root'));<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script><script src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/2.4.1/lodash.compat.js"></script><div id="root"></div>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5013189.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存