亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有沒有童鞋遇到過同樣的問題:關于setState問題?

有沒有童鞋遇到過同樣的問題:關于setState問題?

郎朗坤 2019-06-10 09:51:46
由于不想一直setState,想輸入停止后再去setstate,于是網上找了些方法,使用方法是用debounce我參考下面代碼,如果input里面加上value,不管我怎么輸,為什么最后只能輸出第一個字符出來?比如我輸入589632147,最后只能輸出5原鏈接http://billqiu.github.io/2017/10/15/how-to-debounce-in-react///稍微改了下,input里面加了valueimportreact,{Component}from'react';import{debounce}from'lodash.debounce';exportdefaultclassDebounceextendsComponent{construtor(){super();this.callAjax=debounce(this.callAjax,300);}callAjax=(value)=>{console.log('value::',value);this.setState({inputValue:value})//callajax}printChange(e){e.persist();this.callAjax(e.target.value);}render(){return();}}
查看完整描述

2 回答

?
交互式愛情

TA貢獻1712條經驗 獲得超3個贊

importReact,{Component}from'react';
lettimeout;
exportdefaultclassDebounceextendsComponent{
constructor(props){
super(props);
this.state={
text:''
}
}
debounce=(fn,wait)=>{
if(timeout!==null)clearTimeout(timeout);
timeout=setTimeout(fn,wait);
console.log(timeout);
}
handleChange=(e)=>{
consttext=e.target.value;
this.debounce(()=>{
this.setState({
text
})
},1000);
}
render(){
return(
{this.state.text}
)
}
}
                            
查看完整回答
反對 回復 2019-06-10
  • 2 回答
  • 0 關注
  • 186 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號