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

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

React子組件調用父組件的回調函數,為什么獲取不到正確的state

React子組件調用父組件的回調函數,為什么獲取不到正確的state

胡子哥哥 2019-04-27 22:14:35
組件的邏輯是點擊NavList可以切換tab,PullDownRefresh是一個下拉刷新組件我在render()輸出時顯示當前的this.state.selectedIndex已經改變,但是在onRresh里面this.state.selectedIndex一直為0,代碼如下://父組件state={selectedIndex:0,}onRefresh=()=>{console.log(this.state.selectedIndex)//錯誤:一直顯示0}handleTabChange=index=>{this.setState({selectedIndex:index})}render(){let{tabList,entryList}=this.propsconsole.log('render'+this.state.selectedIndex)//正確:1,2,3,4,...return({dataSource.length===0?:null})}子組件//子組件PullDownRefresh監聽觸摸事件,調用父組件的回調函數handleTouchEnd=e=>{this.props.onRefresh()}一直沒找到原因,之前寫回調函數都沒遇到這個問題啊
查看完整描述

2 回答

?
泛舟湖上清波郎朗

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

傳遞函數給子組件的時候bind一下父組件試試:
onRefresh={this.onRefresh.bind(this)}
                            
查看完整回答
反對 回復 2019-04-27
  • 2 回答
  • 0 關注
  • 477 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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