- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关于这个React page它表示您需要手动调用 unmountComponentAtNode
因为:
This is important and often forgotten. Forgetting to call unmountComponentAtNode will cause your app to leak memory.
我有一个应用程序不断地将属性传递给根组件并调用ReactDOM.render
。我是否需要为容器元素调用 unmountComponentAtNode
以防止“内存泄漏”(无论这意味着什么)?
我尝试这样做,并注意到它会导致重新安装所有子组件,而在没有 unmountComponentAtNode
的情况下调用 ReactDOM.render
似乎会进行比较,并且不会再次安装任何子组件。
那么,在没有 unmountComponentAtNode
的情况下调用 ReactDOM.render
可以吗?这会导致内存泄漏吗?上 this page它在 ReactDOM.render
下说:
If the ReactElement was previously rendered into container, this will perform an update on it and only mutate the DOM as necessary to reflect the latest React component. ReactDOM.render() controls the contents of the container node you pass in. Any existing DOM elements inside are replaced when first called. Later calls use React’s DOM diffing algorithm for efficient updates.
它没有提到任何副作用。
编辑:我使用 Chrome 完成了一些简单的任务,其中使用 1 个简单组件调用 ReactDOM.render
100 万次,使用/不使用 unmountComponentAtNode
。根据 Chrome 任务管理器的说法,如果没有它,页面大约需要 5 秒才能完成,然后卡住并消耗了 10 倍(我停止了它,因为它卡住了我的窗口)。因此,当证据表明使用 unmountComponentAtNode
防止内存泄漏可能会导致内存泄漏时,不确定它们是什么意思。
最佳答案
ReactDOM.render
可用于使用新的 props 更新顶级组件。这是一个完全可以接受的用途。 unmountComponentAtNode
的作用是从 DOM 中删除组件的顶级 DOM 节点。否则,由于 React 对 DOM 节点的引用,DOM 节点将被保留,从而导致内存泄漏。
关于reactjs - 重复调用ReactDOM.render和内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35337349/
我有一个包含 React 应用程序和其他 HTML 元素的项目。这意味着: ReactDOM.render(, document.getElementById('element1') ReactDO
我有如下代码,我在其中调用 ReactDOM.Hydrate。这是共享代码,有时从节点服务器调用,有时在客户端浏览器中调用。仅在客户端上调用它时,我是否需要做任何不同的事情(然后调用Hydrate)。
我有多个元素使用相同的类并具有相同的内容。 所以我可以使用 ReactDOM 来渲染它们,而不是: ReactDOM.render( , document.getElementsByC
ReactJS 新手,无法找出为什么此页面没有显示任何内容 -
我正在尝试用 reactjs 编写一个基本程序 Hello React! ReactDOM.render(
我是 React 新手,我正在尝试遵循这个滴答作响的时钟示例,但做一些不同的事情。我想要ReactDOM将在 index.js 中呈现。这是我的代码: Timer.js: import React f
我有一个方法可以在提供的容器内呈现一个图标(字体很棒的图标)。图标渲染可以通过用户单击特定 div 或程序本身在模仿用户单击特定 div 时自动调用渲染函数来进行。 为了更好地理解这一点。我创建了这个
我正在将 React 与 Webpack 和 Babel 结合使用。我收到运行时错误: Uncaught ReferenceError: ReactDom is not defined 我的 reac
升级到版本 0.14.2 后,我看到错误并建议使用 ReactDOM.render()而不是 React.render(),但是我从哪里导入它呢? 当我不导入它并按原样运行时,它显示为 undefin
索引.js: import React from 'react'; import buttonsInstance from 'components/button-instance'; import {
来自 React 16 docs关于ReactDOM.Hydrate(), Same as render(), but is used to hydrate a container whose HTM
我的 react 有点新。我发现我们必须导入两个东西才能开始,React 和 ReactDOM,任何人都可以解释其中的区别。我正在阅读React documentation ,但没有说。 最佳答案 R
因此请考虑以下示例: import React from 'react'; import ReactDOM from 'react-dom/dist/react-dom'; class Dash
我是 ReactJS 的新手。我试图使用 ReactDOM 渲染一个简单的 div,但无法这样做。这是我的代码: Hello React
我有一个问题。我一直在我工作的公司开发 React 组件,但从未真正使用过 reactDOM.render()功能。(除了内部 INDEX.JS: ReactDOM.render( , documen
我不明白为什么此页面没有显示任何内容: console.log("Hi
我有一个简单的 React 应用程序,它包含一组数据,这些数据显示在 React 中创建的容器中: var products = [ { name: 'product 1'}, { name: 'pr
在我的主文件中我有这段代码 import phoneReactElement from "../components/phone.js"; ReactDOM.render(, document.get
为什么这不起作用?我正在关注 YouTube 教程。 function Hello(props) { return Hello; } ReactDOM.render( Hello, d
目前无法弄清楚为什么我的代码没有呈现。会喜欢你们中一些杰出的 react.js 编码员的一些建议。真的不明白哪里出了问题 - 我觉得应该可以。 这是我的 App.js import React fro
我是一名优秀的程序员,十分优秀!