全局_navigation道具访问 - v1.x

时间:2018-04-29 21:03:46

标签: react-navigation

我正在使用react-navigation v1.x.我希望能够全局访问导航器的navigation道具。我的希望是,如果我在没有参数的情况下globalNavigation.addListener()goBack等,那应该就像我从当前关注的屏幕那样做了。我也想传递一些论点,所以它应该就像我称之为某个“关键”。我在各个地方使用这个全局(比如redux中间件等)。

获取“getCurrentRouteName”和“getCurrentRouteKey”非常有用。在v1.x之前,我在路由器中做了自定义的东西,并希望现在避免这种情况。

我尝试对导航器进行参考,并对ref._navigationnavigate等内容使用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))无效。我希望这会将监听器添加到当前焦点屏幕。

任何想法?

0 个答案:

没有答案