php点击切换图片的底部导航,点击底部导航栏切换页面时,怎样更新对应组件使其重新获取值?...

问题描述

react-native做的APP,使用React Navigation做路由和导航。如下图

bVbp2dt?w=610&h=631

底部是一个由createBottomTabNavigator生成的导航栏,点击Tab A 后,显示A组件的内容。

A组件里面也有一个createMaterialTopTabNavigator创建的顶部Tab 导航栏,默认显示 C组件。

C组件里面是一个列表。

需求是这样的:当我点击Tab A 时,希望C组件里的列表可以更新(重新调用后端接口获取值)。

我想过的方法是:监听A组件,当它被触发时,传一个值给C组件,C组件接收到值调用setState保存起来,因为调用了setState方法,C组件就会被触发更新,重新渲染一次。

但是这里也有个问题:组件A怎样传值给组件C? 因为它们不是单纯的父子组件关系,中间还隔着一个导航栏组件!

相关代码

export default class A extends Component {

render() {

return (

<View style={{flex: 1}}>

<TabsCAndD/>

</View>

);

}

}

export default class TabsCAndD extends Component {

render() {

return (

<CreaterTab />

);

}

}

const CreateTab = createMaterialTopTabNavigator({

C: {

screen: C,

navigationOptions: () => ({

tabBarLabel: 'C',

})

},

D: {

screen: D,

navigationOptions: () => ({

tabBarLabel: 'D',

})

},

}, {}

});

const CreaterTab = createAppContainer(CreateTab);

export default class C extends Component {

render() {}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值