为了账号安全,请及时绑定邮箱和手机立即绑定

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 关注
  • 461 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信