Javascript React Navigation的StackNavigator标题内的自定义关闭按钮
我目前正在使用React Native,我有一个关于React导航和Javascript React Navigation的StackNavigator标题内的自定义关闭按钮,javascript,react-native,navigation,react-navigation,Javascript,React Native,Navigation,React Navigation,我目前正在使用React Native,我有一个关于React导航和StackNavigator的问题。我想添加一个自定义关闭按钮的标题,但我不知道如何做到这一点 我可以导航到屏幕,但不能返回或发送某些内容 在我的示例中,主屏幕的导航选项正在工作。抽屉打开,设置按钮导航到设置屏幕。但是我对入口屏幕的导航选项有问题。在那里,我构建了一个CloseButton返回,但我需要访问导航对象 使用导航可以导航到其他屏幕,但我需要访问父对象导航。例如,在抽屉类中,可以通过props.navigation(例
StackNavigator
的问题。我想添加一个自定义关闭按钮的标题,但我不知道如何做到这一点
我可以导航到屏幕,但不能返回或发送某些内容
在我的示例中,主屏幕的导航选项
正在工作。抽屉打开,设置按钮导航到设置屏幕。但是我对入口屏幕的导航选项有问题。在那里,我构建了一个CloseButton
返回,但我需要访问导航对象
使用导航
可以导航到其他屏幕,但我需要访问父对象导航
。例如,在抽屉类中,可以通过props.navigation
(例如props.navigation.navigate('Home')
或props.navigation.goBack(null)
)访问
这是我当前代码的一部分。当然,由于缺少对导航的访问,它当前无法工作:
const Stack = StackNavigator({
Home: {
screen: HomeScreen,
navigationOptions: {
header: ({ navigate }) => ({
left: <DrawerButton navigate={navigate} />,
right: <SettingsButton navigate={navigate} />
})
}
},
Entry: {
screen: EntryScreen,
navigationOptions: {
header: ({ navigation }) => ({
right: <CloseButton navigate={navigation } />
})
}
}
})
export const Drawer = DrawerNavigator({
Home: {
screen: Stack
}},
{
contentComponent: HamburgerMenu
}
)
const Stack=StackNavigator({
主页:{
屏幕:主屏幕,
导航选项:{
标题:({navigate})=>({
左:,
正确的:
})
}
},
条目:{
屏幕:入口屏幕,
导航选项:{
标题:({navigation})=>({
正确的:
})
}
}
})
导出常数抽屉=DrawerNavigator({
主页:{
屏幕:堆栈
}},
{
内容组件:汉堡菜单
}
)
以下是按钮:
export const CloseButton = (props) => {
let testButton = <TouchableHighlight onPress={() => props.navigation.goBack(null)}>
<Icon name='close' style={styles.headerButtonIcon} />
</TouchableHighlight>
return testButton
}
export const SettingsButton = (props) => (
<TouchableHighlight onPress={() => props.navigate('Settings')}>
<Icon name='more-vert' style={styles.headerButtonIcon} />
</TouchableHighlight>
)
export const CloseButton=(道具)=>{
让testButton=props.navigation.goBack(null)}>
返回测试按钮
}
导出常量设置按钮=(道具)=>(
props.navigate('Settings')}>
)
也许你能帮我。提前谢谢 多亏了Github上sigmazen的帮助,我找到了答案
我必须将goBack
放在关闭按钮的标题中,而不是navigation
。在此之后,我可以通过props.goBack(null)
条目:{
屏幕:入口屏幕,
导航选项:{
标题:`Eintrag`,
标题:({goBack})=>({
正确的:
})
}
},
导出常量关闭按钮=(道具)=>{
let test=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
}