当前位置: 首页 > 面试题库 >

反应导航检查上一个屏幕是否存在

顾曾笑
2023-03-14
问题内容

我拼命地寻找一种可能性,以检查ReactNavigation中是否存在先前的屏幕。

使用this.props.navigation.goBack()收益false,如果没有以前的路由存在,但我不能使用它,因为如果以前的路由存在我重定向

是否可以检查我是否打开了该应用程序,而不是从另一个屏幕导航到主屏幕?

谢谢。我没有使用Redux。这样会使这些东西变得更容易,但是我现在想避免使用它。


问题答案:

可能的解决方案(不确定是否是最好的解决方案)是在上一个屏幕的param对象中花费。这样,如果存在参数将意味着存在先前的屏幕。

例如:

const navigateAction = NavigationActions.navigate({
  routeName: 'Profile',

  params: { previous_screen: 'CURRENT_SCREEN' },

  action: NavigationActions.navigate({ routeName: 'NEXT_SCREEN' }),
});

this.props.navigation.dispatch(navigateAction);

然后在下一个屏幕中:

const { navigation } = this.props;
if (navigation.state.params && navigation.state.params.previous_screen) {
  // A previous screen exists
} else {
  // No previous screen
}


 类似资料:
  • 问题内容: 如何从一个活动屏幕导航到另一个活动屏幕?在第一个屏幕中,我有一个按钮,如果我单击该按钮,则必须移至另一个“活动”屏幕。 问题答案:

  • 问题内容: 我已经有了典型的下拉导航,并且试图确保下拉菜单链接始终可访问和可见: CSS确实没有什么特别的(删除了颜色和背景): 顶级链接数量未知(由用户创建)。我遇到的问题是,如果顶层链接距离右侧太远,有时下拉菜单(位于右侧)将不在屏幕上。我添加了以下CSS来补偿: 现在,最后一个位于屏幕左侧,而不是离开屏幕,这很不错,但是存在一些问题: 对于上一个链接,我并不总是需要这些样式,因为它并不总是在

  • 我知道如果你想检查是否有人点击了什么,你会这样做 但是我想检查屏幕是否根本没有被点击。为了做到这一点,我会产生什么代码? 此外,作为附带说明,让Android应用程序中的所有类扩展类是个好主意吗?

  • 问题内容: 我的数据库中有两个表,分别用于我的两个用户(图书馆员和学生)的登录详细信息。我已将用户的详细信息分为两个单独的表tblUserLibrarian和tblUserStudent;一个给图书馆员,另一个给学生。每个表中的主键是用户名或ID(LibrarianID和StudentID)。 这些表的概要如下: tblUserStudent tblUserLibrarian 我有一个问题,当任何

  • rank ▲ ✰ vote url 47 435 86 477 url 检查一个键在字典中是否存在 在更新字典之前想检查键是否存在.我写了如下代码: if 'key1' in dict.keys(): print "blah" else: print "boo" 我想这不是最好的方法,还有什么更好的方法? 用in. d = dict() for i in xrange(100):

  • 问题内容: 我想知道一个类是否为枚举,但是我想我缺少了一些东西: 它给我一个错误,指出Enum.class无效。那么,如何检查类是否为枚举?我很确定有可能确定这一点,但我无法做到。 谢谢 问题答案: 正确的语法为: 但对于枚举,这是一种更方便的方法: 更新:对于带有主体的枚举项(例如,覆盖方法),这实际上将不起作用。在这种情况下,请使用 参考: