反应导航版本:3.0.9
react-native
我在以下代码的帮助下创建了drawerLayout react-navigation
:
export default createDrawerNavigator(
{
Pin: {
screen: PinScreen,
navigationOptions: {
drawerLockMode: 'locked-closed'
}
},
ListView: { screen: ListViewScreen },
},
{
initialRouteName: 'Pin',
headerMode: 'none',
contentComponent: props => <SideBar {...props} />
}
);
在这个SideBar
组件中,我有以下项目触摸处理代码:
<ListItem
style={styles.listItem}
onPress={() => {
this.props.navigation.dispatch(DrawerActions.closeDrawer());
this.props.navigation.push('ListView');
}}
>
<Text>Home screen</Text>
</ListItem>
但是当我按下这个项目时,我得到了这个处理程序this.props.navigation.push
中未定义的消息。onPress
我需要ListView
屏幕来刷新导航操作后显示的数据,现在将数据获取逻辑放在里面componentDidMount
。push
确实适用于其他屏幕,但我觉得props
传递给的这个SideBar
是不同的。
所以问题:如何在如上所述ListView
导航时重新安装/刷新数据?SideBar