反应本机应用程序停留在初始屏幕上

时间:2019-05-15 09:06:24

标签: javascript android node.js react-native

最近我的应用程序停止加载。

它会构建,都会加载依赖项,然后什么也不会发生。它只是停留在初始屏幕上。

我正在使用真正的Android设备。

我尝试运行“ adb shell输入keyevent 82”来打开开发人员菜单并使用远程调试器,但是开发人员菜单没有提示出来。

该设备存在于adb设备中,并且可以执行诸如“ adb shell输入keyevent 3”之类的命令,从而触发设备的主屏幕按钮。

地铁就是这张照片:

Stuck metro

有人遇到过类似的问题或有线索为什么会这样吗?

编辑:

到目前为止,有助于解决该问题的事情是:

  • 重新启动计算机

  • 对以下各行进行评论,以启用可对反应导航提供的NavigationService。(在应用构建并启动后,如果我取消注释这些行,它将再次与它们一起使用)

    ref = {navigatorRef => {       NavigationService.setTopLevelNavigator(navigatorRef);    }}

因此,这些解决方案有助于解决问题,但是是否有人知道引发问题的原因?

2 个答案:

答案 0 :(得分:0)

您的NavigationService类看起来像这样吗?


import { NavigationActions } from 'react-navigation';

let _navigator;

function setTopLevelNavigator( navigatorRef ){
    _navigator = navigatorRef;
}

function navigate( routeName, params ){
    _navigator.dispatch(
        NavigationActions.navigate({
            routeName,
            params
        })
    );
}

export default {
    navigate,
    setTopLevelNavigator
};

如果您可以提供控制台日志信息,那就太好了。

答案 1 :(得分:0)

My code looks like this:

import { NavigationActions } from 'react-navigation';

let _navigator;

export const setTopLevelNavigator = (navigatorRef) => {
    console.log("WILL SET TOP LEVEL NAVIGATOR WITH", navigatorRef);
    _navigator = navigatorRef;
}

export const navigate = (routeName, params) => {
    _navigator.dispatch(
        NavigationActions.navigate({
            routeName,
            params
        })
    )
}

export default{
    navigate,
    setTopLevelNavigator
}

由于我以前使用过不同的方法,所以我也已经导出了这些函数,但实际上却忘记了后来从它们中删除导出。

您认为这可能是造成问题的原因吗? 当出现问题时,我不会收到控制台日志错误,因为该应用程序不会移动到初始屏幕并且不提供开发人员菜单,因此我无法在该状态下进行调试。

相关问题