场景介绍
两个tab,一个已接受,一个已拒绝,在已接受中可以进行拒绝操作,拒绝后在已拒绝tab中会展示刚刚拒绝的那条数据。问题:拒绝后点击展示已拒绝tab,发现并没有更新
<Tabs defaultActiveKey={currentKey} onChange={this.onTabChange}>
{
tabs.map((item) => (
<Tabs.TabPane tab={item.title} key={item.key}>
<item.component type={type} />
</Tabs.TabPane>
))
}
</Tabs>
解决
使用Tabs的onChange回调,
使用该回调,
onTabChange = (tabKey) => {
this.setState({
type:tabKey
})
}
然后在子组件中使用 componentDidUpdate生命周期函数
componentDidUpdate的第一个参数为 preProps 表示上一次的props
componentDidUpdate参数详解
componentDidUpdate(preProps ){
if(preProps.type!==this.props.type){
//放置刷新函数
}
}