我正在使用react-navigation v1.x.我希望能够全局访问导航器的navigation
道具。我的希望是,如果我在没有参数的情况下globalNavigation.addListener()
或goBack
等,那应该就像我从当前关注的屏幕那样做了。我也想传递一些论点,所以它应该就像我称之为某个“关键”。我在各个地方使用这个全局(比如redux中间件等)。
获取“getCurrentRouteName”和“getCurrentRouteKey”非常有用。在v1.x之前,我在路由器中做了自定义的东西,并希望现在避免这种情况。
我尝试对导航器进行参考,并对ref._navigation
,navigate
等内容使用goBack
。我想将其与addListener
一起使用。
以下是我如何获得并持有裁判:
export AppNavigatorUtils = {}
class AppContent extends Component<Props> {
constructor(props: Props) {
super(props);
AppNavigatorUtils.getNavigation = this.getNavigation;
}
render() {
return (
<AppNavigator ref={this.refNavigator} />
)
}
refNavigator = el => this.navigator = el
getNavigation = () => this.navigator ? this.navigator._navigation : null
}
执行AppNavigatorUtils.getNavigation().addListener('didBlur, (e) => console.log('blur from e:', e))
无效。我希望这会将监听器添加到当前焦点屏幕。
任何想法?