第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

react里的this指向問題

react里的this指向問題

狐的傳說 2019-03-12 10:12:34
兩個組件:父組件:constructor(props){    super(props);    this.state = {        currentPage:0    }}setPage(num){    console.log(this);  //得出的是子組件    this.setState({    //提示'setState'不是一個方法        currentPage:num    })  }render(){    return(        <div>             <App                  setPage = {this.setPage}             />         </div>    )}子組件:clickFuc(index) {        this.setState({            currentIndex: index        },()=>{               this.props.setPage(index);        })    }            render(){        return (           <div onClick={this.clickFuc.bind(this,index)}></div>        )    }問題:這里的this還是子組件,沒有指向父組件,該如何達(dá)到通過子組件來改變父組件的state值?
查看完整描述

5 回答

?
慕的地10843

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個贊

用箭頭函數(shù)定義方法


setPage= () => {...}

或者在constructor綁定


constructor(props) {

    super(props);

    this.state = {

        ...

    };

    this.setPage = this.setPage.bind(this);

}


查看完整回答
反對 回復(fù) 2019-03-15
?
holdtom

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超10個贊

setPage = {()=>this.setPage()}


查看完整回答
反對 回復(fù) 2019-03-15
?
炎炎設(shè)計

TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個贊

setPage = {this.setPage.bind(this)}
or
setPage = {()=>{this.setPage()}}

查看完整回答
反對 回復(fù) 2019-03-15
?
紅糖糍粑

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個贊

通過 bind 綁定 this


constructor(props){

    super(props);

    this.state = {

        currentPage:0

    };

    this.setPage = this.setPage.bind(this);

}


查看完整回答
反對 回復(fù) 2019-03-15
?
函數(shù)式編程

TA貢獻(xiàn)1807條經(jīng)驗(yàn) 獲得超9個贊

把<App setPage={this.setPage} /> 改成<App setPage={this.setPage.bind(this)} /> 試試。


查看完整回答
反對 回復(fù) 2019-03-15
  • 5 回答
  • 0 關(guān)注
  • 500 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號