我想销毁我已经实例化的一些组件以释放内存。在我当前的应用程序中,我实例化然后释放它(删除对它的引用)的几乎每个视图都不会被垃圾收集。我不提意见。我不确定这个内存泄漏是由我的应用程序引起的还是它是 react-native(并且 react-native 有一些内存泄漏问题)。有没有办法自信地销毁视图实例?
问问题
4294 次
2 回答
1
当你不再渲染一个组件时,React 会销毁它。或者当您从虚拟 DOM 中省略它时。
const [render, setRender] = useState(true)
<View>
{render
? <HeavyComponent/>
: null
}
<AnotherComponent/>
</View>
于 2021-05-08T14:25:00.153 回答
0
前段时间我通过了同样的问题,我发现问题是我没有正确使用反应。
为什么要手动实例化组件?
认为 React 的一大主要特性是树 DOM 虚拟组件,如果您手动实例化一个组件,那么在某种程度上,您可以避免它。
请记住,您应该在渲染函数中使用组件,或者在渲染函数中渲染和使用组件的函数。如果必须将组件传递给另一个组件,则应使用高阶组件的概念。
我希望我对你有所帮助。
于 2017-10-02T18:37:42.237 回答