[编辑 - 我以为我正在使用Hot Reloading,但我实际上正在使用Live Reload]
我有一个原生插件,每次完成时都需要做一些清理工作。基本上我想防止这些错误:
Calling JS function after bridge has been destroyed: RCTDeviceEventEmitter.emit(..)
componentWillUnmount()不会被调用。
答案 0 :(得分:0)
实时重新加载将重新启动应用程序,并在文件更改时将应用程序加载回初始路径。不会调用ComponentWillUnmount。
重新加载时,幕后发生的事情是反应上下文被破坏,并且正在创建新的上下文。
通过使用旧的react上下文,每当本机模块尝试工作时,都会引发该错误。
答案 1 :(得分:0)
您可以使用如下所示的内容: Error Boundary in react
只需将容易出错的代码包装在ErrorBoundary组件中,例如
<ErrorBoundary><childComponentCausingError></ErrorBoundary>
在ErrorBoundary组件中,您只需在componentDidCatch =(error,info)=> {
}
componentDidCatch()是React中的生命周期方法。