如何在React native中销毁组件实例以避免内存泄漏并释放本地代码的视图对象?

时间:2015-12-23 03:53:11

标签: memory-leaks reactjs react-native

我想销毁一些我已经实例化以释放内存的组件。 在我当前的应用程序中,几乎每个我实例化然后释放它的视图(删除对它的引用)都没有收集垃圾。我没有提到意见。我不确定这个内存泄漏是由我的应用程序引起的,还是它的本地反应(并且本机存在一些内存泄漏问题)。有没有办法可靠地销毁一个视图实例?

2 个答案:

答案 0 :(得分:0)

我很久以前就遇到了同样的问题,我发现问题是我没有正确使用反应。

为什么要手动实例化组件?

认为反应的一个主要特征是树DOM虚拟组件,如果手动实例化组件,则以某种方式避免它。

请记住,您应该使用渲染函数中的组件,或者在渲染函数中渲染和使用组件的函数。如果必须将组件传递给另一个组件,则应使用高阶组件的概念。

我希望我帮助过你。

答案 1 :(得分:0)

当你不再渲染一个组件时,React 会销毁它。 或者当你从虚拟 DOM 中省略它时。

const [render, setRender] = useState(true)

<View>
   {render
     ? <HeavyComponent/>    
     : null
   }
   <AnotherComponent/>
</View>