首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用react-router-native卸载React组件时,Android UI组件仍在运行

使用react-router-native卸载React组件时,Android UI组件仍在运行
EN

Stack Overflow用户
提问于 2017-06-05 23:43:54
回答 1查看 844关注 0票数 3

在将我的应用程序的导航处理从react- native -router-flux移动到react-router-native时,我似乎发现了一个问题,即如何处理我的应用程序的本机UI组件。

我的应用程序有几个动画数据图,我用Java语言实现了它们,并将它们作为Native UI Components导入到React Native中。可视化是由在加载ui组件时启动的后台线程上的一些耗费资源的可运行程序提供支持的。以前,我通过将本机ui组件(isVisible)的一个属性更改为false来停止这些线程。

但是,当使用react-router-native从包含这些本机ui组件之一的屏幕离开时(它会在转换时卸载组件),即使在react组件中调用了componentWillUnmount,支持我的绘图的本机线程也会继续运行。

我试图通过在componentWillUnmount中将原生ui组件属性isVisible更改为false来关闭它们,但即使这样也不能解决问题。也许是因为在componentWillUnmount之后没有该组件的另一个呈现?

有人知道如何在卸载父组件时强制关闭本机UI组件及其所有进程吗?

EN

回答 1

Stack Overflow用户

发布于 2017-06-13 00:57:45

在闲逛了一段时间后,我想出了一个解决方案,我认为我应该在这里分享。

它没有包含在React Native文档中,但是只要卸载Native Java UI组件,React SimpleViewManager类中就会调用一个名为onDropViewInstance的函数。

为了解决某些线程仍在运行的问题,我所要做的就是在onDropViewInstance函数中显式地停止这些线程。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44372612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档