Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React Navigation的StackNavigator标题内的自定义关闭按钮_Javascript_React Native_Navigation_React Navigation - Fatal编程技术网

Javascript React Navigation的StackNavigator标题内的自定义关闭按钮

Javascript React Navigation的StackNavigator标题内的自定义关闭按钮,javascript,react-native,navigation,react-navigation,Javascript,React Native,Navigation,React Navigation,我目前正在使用React Native,我有一个关于React导航和StackNavigator的问题。我想添加一个自定义关闭按钮的标题,但我不知道如何做到这一点 我可以导航到屏幕,但不能返回或发送某些内容 在我的示例中,主屏幕的导航选项正在工作。抽屉打开,设置按钮导航到设置屏幕。但是我对入口屏幕的导航选项有问题。在那里,我构建了一个CloseButton返回,但我需要访问导航对象 使用导航可以导航到其他屏幕,但我需要访问父对象导航。例如,在抽屉类中,可以通过props.navigation(例

我目前正在使用React Native,我有一个关于React导航和
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
}