【问题标题】:React-native-navigation (wix) how to skip routeReact-native-navigation(wix)如何跳过路线
【发布时间】:2018-05-17 06:00:52
【问题描述】:

我有 3 个屏幕

屏幕A, 屏幕B, 屏幕C

路线

  1. ScreenA->ScreenB,ScreenB-back->ScreenA
  2. ScreenA->ScreenC,ScreenC-back->ScreenA
  3. 屏幕A->屏幕B->屏幕C

我的问题是关于第三条路线,当用户在 ScreenC 上并且他/她按下后退按钮/后退导航栏按钮时,将显示 ScreenA 而不是 Screen B

环境

React Native Navigation 版本:1.1.431

React Native 版本:0.54.4

平台(iOS、Android 或两者?):iOS

【问题讨论】:

  • 请调整您的标签以使用wixcode,因为wix 表示Windows Installer XML
  • 完成,感谢您的澄清

标签: ios react-native react-native-navigation


【解决方案1】:

您可以使用setOnNavigatorEventaddOnNavigatorEvent,它们将替换现有的导航器来自定义处理后退按钮。 所以在你的构造函数中

class ScreenC extends Component {
  constructor(props) {
    super(props);
    this.props.navigator.setOnNavigatorEvent(
      this.onNavigatorEvent.bind(this)
    );
  }

  ...

  onNavigatorEvent(event) {
    switch (event.id) {
      case 'backPress':
        ... what ever you want

    }
  }

  ... rest of your code
}

您可以阅读更多关于他们的信息here

【讨论】:

  • 不,我不能做任何我想做的事,如果我想在 backPress 上推动 ScreenA,你建议的解决方案很好,但它会导致我遇到另一个问题,现在从 ScreenA 开始,如果有人按下返回它会弹出到 screenC 这是不正确的。我希望你明白我说的是什么
猜你喜欢
  • 1970-01-01
  • 2022-01-16
  • 1970-01-01
  • 2018-10-29
  • 2021-01-29
  • 2018-12-03
  • 2019-10-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多