【发布时间】:2021-08-21 06:50:39
【问题描述】:
我有一个 RN 项目,我喜欢将它 ErrorBoundry 连接到 crashalytics
export default class ErrorBoundry extends React.Component<any, IState> {
state = { hasError: false }
static getDerivedStateFromError(error) {
console.log('crash', { error })
crashlytics().log(JSON.stringify({ error }))
return { hasError: true }
}
render() {
return this.state.hasError ? (
<View style={globalStyles.errorFullScreenContainer}>
<Text style={globalStyles.errorFullScreenText}>{i18n.t('generic-error')}</Text>
</View>
) : (
this.props.children
)
}
}
我从docs here 执行了所有相关步骤,但仍然加载仪表板(在手动抛出一些错误并进入构建环境中的ErrorBoundry 屏幕后超过一天)
相关包.json
"@react-native-firebase/app": "12.0.0",
"@react-native-firebase/crashlytics": "12.0.0",
"@react-native-firebase/messaging": "12.0.0",
"react-native": "0.61.5",
注意事项-
-
firebase/messaging按预期工作了一段时间,所以应用确实连接到云项目 - 这也是ios的问题,虽然符合docs here,自动之后没有进一步的步骤
pod install -
install中的终端没有错误 ||build部分
任何帮助将不胜感激,真的无法弄清楚我错过了什么
编辑 -
也试过crashlytics().recordError,结果一样
【问题讨论】:
-
您需要将崩溃发送到 Firebase。它在开发中被禁用。 rnfirebase.io/crashlytics/usage#enable-debug-crash-logs
-
for more than a day after manually throwing few errors and getting into ErrorBoundry screen- 在构建环境中 -
我的意思是你错过了崩溃/错误。 log() 仅提供下一次崩溃的消息。以防万一,您可能想致电
recordError
标签: firebase react-native crashlytics firebase-crash-reporting