如何在反应本机路由器流量中获取先前的场景名称

时间:2018-07-16 07:13:44

标签: react-native-router-flux

我需要使用react-native-router-flux在componentWillMount中获取以前的场景关键,以查看我从哪个屏幕回来并根据情况进行一些操作。我浏览了很多,但还没有找到答案。有什么方法可以做到吗?

3 个答案:

答案 0 :(得分:4)

您可以通过以下方式实现     Actions.prevScene, 将返回堆栈中上一个场景的键。

答案 1 :(得分:0)

很难说,但是像这样浏览时,传递变量更容易:

Actions.home({from: 'about'})

现在,Home个道具包含from变量,您可以处理。

答案 2 :(得分:0)

@sftgf的解决方案应该可以工作,但是在react-native-router-flux 4.0.0-beta.28上,它错误地为我返回了当前场景。

Gist可以工作,并且具有将其他场景堆叠到堆栈中的额外好处:

import {Actions} from react-native-reouter-flux

export function getPreviousScene (jumpCount = 1) { // if nothing is passed, it defaults to 1
  const index = Actions.prevState.routes.length - (jumpCount + 1) // because zero-based index

  if (index >= 0) {
    return Actions.prevState.routes[index].routeName
  }

  return 'home'
}