我目前正在使用React Native,在那里我有一个关于React Navigation和StackNavigator
的问题。我想在标题中添加一个自定义关闭按钮,但我不知道该怎么做。
我可以导航到屏幕,但不是例如回去或发送一些东西。
在我的示例中,navigationOptions
的{{1}}正在运行。抽屉打开,HomeScreen
导航到设置屏幕。但我对SettingsButton
的{{1}}遇到了问题。我在那里构建了一个navigationOptions
,但我需要访问导航对象。
使用EntryScreen
可以导航到其他屏幕,但我需要访问父对象CloseButton
。例如,在抽屉的类上,可以通过navigate
访问(例如navigation
或props.navigation
)
这是我当前代码的一部分。当然,由于缺少对props.navigation.navigate('Home')
的访问权限,它目前无法正常工作:
props.navigation.goBack(null)
这些是按钮:
navigation
也许你可以帮助我。提前谢谢!
答案 0 :(得分:2)
感谢在Github上sigmazen的帮助,我找到了答案。
而不是navigation
我必须将goBack
放入CloseButton的标头中。在此之后,我可以通过props.goBack(null)
Entry: {
screen: EntryScreen,
navigationOptions: {
title: `Eintrag`,
header: ({ goBack }) => ({
right: <CloseButton goBack={goBack} />
})
}
},
export const CloseButton = (props) => {
let test = <TouchableHighlight onPress={() => props.goBack(null)}>
<Icon name='close' style={styles.headerButtonIcon} />
</TouchableHighlight>
return test
}