React-навигационная версия: 3.0.9
Я создаюстройка в ящик в react-native
со следующим кодом с помощью 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
, как описано выше?