稳定的反应本机应用程序突然显示白色屏幕

时间:2018-01-15 06:05:03

标签: ios xcode react-native react-redux redux-persist

我过去一个月使用本机构建的应用程序突然停止工作,并在运行react-native run-ios时开始显示白屏。有时模拟器显示一个黄色框,显示Possible Unhandled Promise Rejection,但除此之外,我看不到任何错误。问题出现在我正在处理的分支和master分支上,它在上次提交时肯定是稳定的。

这些是我目前的依赖关系:

"axios": "^0.17.1",
"base-64": "^0.1.0",
"firebase": "^4.8.1",
"query-string": "^5.0.1",
"react": "16.0.0",
"react-native": "0.51.0",
"react-native-dotenv": "^0.1.0",
"react-native-linear-gradient": "^2.4.0",
"react-navigation": "^1.0.0-beta.22",
"react-redux": "^5.0.6",
"redux": "^3.7.2",
"redux-persist": "^5.4.0",
"redux-thunk": "^2.2.0"

有没有人对如何克服这个障碍有任何建议?或者任何有助于调试的工具?我真的很感激任何人都可以提供帮助。

Screenshot of JS Debugger Error

1 个答案:

答案 0 :(得分:0)

我相信我找到了解决方案。错误发生在redux-persist依赖项。

在我的Redux减速机中,我有这个案例:

export default (state = INITIAL_STATE, action) => {
switch (action.type) {

    case 'persist/REHYDRATE': {
        if (action.payload.auth) {
            const { access_token, refresh_token, expiration } = action.payload.auth;
            return {
                ...state,
                access_token: access_token,
                refresh_token: refresh_token,
                expiration: expiration,
            };
        } return state;
    }

    // other cases
}

但由于某种原因,补液没有有效负载(因此错误Cannot read property "Auth" of undefined)。

我评论了这个案例,使用cmd-R重新加载了我的模拟器,一切似乎再次起作用! 我不完全确定为什么这样可以解决问题,所以如果有人有任何想法,请务必分享。