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