【问题标题】:open react navigation app in a specific screen everytime每次在特定屏幕中打开反应导航应用程序
【发布时间】:2019-06-30 00:38:02
【问题描述】:

在以下示例应用中:

https://github.com/callstack/react-native-paper/tree/master/example

如果您执行以下操作:

  1. 打开应用
  2. 转到某个特定屏幕
  3. 关闭应用
  4. 打开应用

然后,应用程序将在关闭前的同一屏幕上打开。

我想要做的是每次都在某个特定屏幕中打开应用程序,而与上次访问的屏幕无关。

在此链接上:https://reactnavigation.org/docs/en/stack-actions.html

我发现了以下可能有用的代码:

import { StackActions, NavigationActions } from 'react-navigation';

const resetAction = StackActions.reset({
  index: 1,
  actions: [
    NavigationActions.navigate({ routeName: 'Profile' }),
    NavigationActions.navigate({ routeName: 'Settings' }),
  ],
});
this.props.navigation.dispatch(resetAction);

但万一它成功了,我的问题是:

我必须在哪里以及如何使用该代码?

谢谢!

【问题讨论】:

  • 我不确定,但是通过关闭,也许您只是在最小化应用程序?
  • 认为您需要将AppStateNavigation Events 混合并检查if Appstate=='background' 使用onWillFocus 侦听器转到特定屏幕

标签: javascript react-native react-navigation jsx expo


【解决方案1】:
const ScreenStack = createStackNavigator({
  Screen1,
  Screen2,
  Screen3
},
{ initialRouteName: 'Screen1' })

您可以为您的第一条路线定义 initialRouteName..

但是如果你想重置路由器,创建一个 NavigationService。 详情:https://reactnavigation.org/docs/en/navigating-without-navigation-prop.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-20
    相关资源
    最近更新 更多