首页 > 解决方案 > 如何在 react-native (expo) 中出现致命错误时运行重置脚本?

问题描述

我想在我的应用程序遇到致命错误时运行自定义重置脚本。

我需要一种在 javascript 错误成为本机错误之前捕获它的方法,并且我需要一种方法来正确调用重置脚本。

我尝试过使用react-native-exception-handler,但它无法运行从道具继承的功能。这是一个问题,因为我的应用程序使用了 redux。

我让这个组件<ErrorHandler />在顶级组件中呈现,<App />以便setJSExceptionHandler在发生任何错误时调用。

import React, { Component } from 'react'

import { Actions } from 'react-native-router-flux'
import { View } from 'react-native'

import { setJSExceptionHandler } from 'react-native-exception-handler';
setJSExceptionHandler((error, isFatal) => {
  Actions.errorHandlePage({});
});

class ErrorHandler extends Component {
  render(){
    return <View />
  }
}

export default ErrorHandler;

我希望应用程序打开这个页面,它会重置所有内容并让用户优雅地知道,但是无论我在setJSExceptionHandler函数中添加什么,都会出现错误页面。

有什么建议或我可以使用的组件吗?

标签: react-nativeerror-handlingexpo

解决方案


推荐阅读