实现延迟搜索功能

搜索延迟

平常在项目中,经常会遇到搜索请求后台的情况,此时搜索延迟就显得尤为重要,如果没有搜索延迟功能,那么用户页面将会显得特别卡顿

import {Component} from 'react'
class Search extends Component{
  constructor(props){
    this.state({delay:0});
    this.onSearch = this.onSearch.bind(this);
  }
  onSearch(){
    this.setState({delay:this.state.delay + 1})
    let _this = this ;
    setTimeout(function(){
      _this.setState({delay:_this.state.delay - 1});
      if(this.state.delay == 0){
            //执行后台请求的代码
            console.log('请求执行了')
          }
      }
    },1000)
}
  render(){
    return (
        <div>
              <input onChange={this.onSearch}/>
      </div>
    )
  }
}
export default Search

以上就是一个最简单的搜索延迟功能的实现。有误之处还请指出。

jimwmg@foxmail.com

相关文章

react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接...
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc ...