react-native - 如何在 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
函数中添加什么,都会出现错误页面。
有什么建议或我可以使用的组件吗?
解决方案
推荐阅读
- java - Hibernate 合并刷新到数据库,但是当我查询相同的数据时,它返回旧的对象
- javascript - 使用 Javascript 对 HTML 选择进行排序。参数不起作用
- spring - 为什么@Async Annotation Clauses AopInvocationException?
- php - 如何在 wordpress 中的特定 id 上将自定义值添加到机器人元标记
- solidity - Solidity - 使用 OpenZeppelin 将覆盖方法转换为应付
- sql - 这个参数化查询是否对 SQL 注入开放?
- javascript - 如果第一个孩子为空,如何隐藏父div
- flutter - 在 Flutter 中的两个类的方法中使用 setState 的最佳方法
- angular - 如何确保在使用 Angular 中的 Karma 和 Jasmine 在单元测试中调用父方法后调用另一个嵌套方法?
- javascript - 使用没有 lodash 的部分按属性分组和排序的最有效方法