如何在导航中为标题返回箭头提供自定义导航?我希望标题中的后退箭头导航到我定义的屏幕,而不是上一个屏幕.

谢谢

推荐答案

你可以try 两件事:

a) 在sub-StackRouters中使用headerMode: 'none',而不是根路由(名为RouterComponent).理想情况下,您不需要再做任何事情,sub-StackRouters的头将显示在根路由的头中.我想我记得以前有一个类似的方法对我有效,但我已经有一段时间没有测试过了,我认为它不太可能仍然像这样工作,但你仍然可以测试.

b) 这就是我目前在另一种情况下使用的方法.要手动包含"后退"按钮,请执行以下操作:

import { HeaderBackButton } from 'react-navigation';

const navigationOptions = ({ navigation }) => ({
    headerLeft: <HeaderBackButton onPress={() => navigation.goBack(null)} />,
})

const RouterComponent = StackNavigator({
    Tabs: {
        screen: Tabs
    },
    Profile: {
        screen: ProfileStack,
        navigationOptions
    }
},{
    mode: 'modal',
    headerMode: 'none',
});

如果上述解决方案不起作用,

try 将导航选项直接添加到ProfileStack定义中.

const ProfileStack = StackNavigator({
    ProfileHome: { 
      screen: ProfileHome, 
      navigationOptions: ({navigation}) => ({ //don't forget parentheses around the object notation
        title: 'Profile',
        headerLeft: <HeaderBackButton onPress={() => navigation.goBack(null)} />
      })
    },
    ProfileEdit: { screen: ProfileEdit }
  }

React-native相关问答推荐

React Native 在每个页面加载时调用数据库

React native + react-query + onError 不捕获并处理错误?

我们应该在 react-native 移动应用程序中使用哪个图标库

React Native Ios错误 - ENOENT:no such file or directory, uv_cwd (null)

如何将谷歌反向地理编码与 React Native Expo 结合使用?

我如何知道我的代码是否作为 React Native 运行

子视图覆盖的容器borderRadius,这是一个bug吗?

如何在 Crashlytics (Fabrics) 中有效地对非致命异常进行分组?

react-native - 如何在过go 两个文件夹中导入组件?

错误: Unable to determine the current character, it is not a string, number, array, or object in react-native for android

null 不是对象(判断 this.state.count)

React Native 使视图 Hug键盘顶部

如何在 React Native 中获取电话号码?

React native expection java.lang.UnsatisfiedLinkError: dlopen failed: "/data/data/{package}/lib-main/libgnustl_shared.so" is 32-bit instead of 64-bit

React Native Android 文本组件额外填充

Port 8081 already in use, packager is either not running or not running correctly Command /bin/sh failed with exit code 2

React.createClass vs. ES6 箭头函数

如何更改键盘上的 return按钮?

React Native - 如何从推送通知中打开路由

react-native-webview :对于 iOS 文本太小