我想销毁一些我已经实例化以释放内存的组件。 在我当前的应用程序中,几乎每个我实例化然后释放它的视图(删除对它的引用)都没有收集垃圾。我没有提到意见。我不确定这个内存泄漏是由我的应用程序引起的,还是它的本地反应(并且本机存在一些内存泄漏问题)。有没有办法可靠地销毁一个视图实例?
答案 0 :(得分:0)
我很久以前就遇到了同样的问题,我发现问题是我没有正确使用反应。
为什么要手动实例化组件?
认为反应的一个主要特征是树DOM虚拟组件,如果手动实例化组件,则以某种方式避免它。
请记住,您应该使用渲染函数中的组件,或者在渲染函数中渲染和使用组件的函数。如果必须将组件传递给另一个组件,则应使用高阶组件的概念。
我希望我帮助过你。
答案 1 :(得分:0)
当你不再渲染一个组件时,React 会销毁它。 或者当你从虚拟 DOM 中省略它时。
const [render, setRender] = useState(true)
<View>
{render
? <HeavyComponent/>
: null
}
<AnotherComponent/>
</View>