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

时间:2017-03-22 14:06:04

标签: javascript react-native navigation react-navigation

我目前正在使用React Native,在那里我有一个关于React Navigation和StackNavigator的问题。我想在标题中添加一个自定义关闭按钮,但我不知道该怎么做。

我可以导航到屏幕,但不是例如回去或发送一些东西。

在我的示例中,navigationOptions的{​​{1}}正在运行。抽屉打开,HomeScreen导航到设置屏幕。但我对SettingsButton的{​​{1}}遇到了问题。我在那里构建了一个navigationOptions,但我需要访问导航对象。

使用EntryScreen可以导航到其他屏幕,但我需要访问父对象CloseButton。例如,在抽屉的类上,可以通过navigate访问(例如navigationprops.navigation

这是我当前代码的一部分。当然,由于缺少对props.navigation.navigate('Home')的访问权限,它目前无法正常工作:

props.navigation.goBack(null)

这些是按钮:

navigation

也许你可以帮助我。提前谢谢!

1 个答案:

答案 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
}