javascript - 显示/隐藏弹出窗口的性能差异。 react

标签 javascript reactjs

我有两种不同的方式在 React 中显示/隐藏弹出窗口。我想知道两者之间是否存在性能差异。我假设第一种方式更传统。

第一种方法:根据返回语句中的条件语句显示弹出窗口 ( entire code can be found here ):

{this.state.showPopup ? 
  <Popup
    text='Close Me'
    closePopup={this.togglePopup.bind(this)}
   />
   : null
}

第二种方式:单击按钮时渲染,然后单击关闭时卸载 ( entire code can be found here ):

showPopup() {
  ReactDOM.render(
     <Popup
       text='Close Me'
     />,
     document.getElementById('popup')
   );
 }

closeClick() {
  ReactDOM.unmountComponentAtNode(document.getElementById('popup'));
}

最佳答案

就经验而言,如果你想最大化性能,最好的方法是你没有提到的第三种:通过CSS。

作用于显示/隐藏组件的类可以使协调变得更容易,并且您可以执行一次生命周期实例化方法。

尝试如下:

className={this.props.shouldHide ? 'hidden' : ''}

JsFiddle来自安东尼

关于javascript - 显示/隐藏弹出窗口的性能差异。 react ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48566694/

相关文章:

javascript - 在 javascript 中将 Date() 舍入到最接近的 5 分钟

javascript - jquery:在给定文本更改的情况下保持相同的按钮大小

javascript - JS : How to prevent losing session per refresh after logging in in SoundCloud API

javascript - 如何在不滚动窗口的情况下滚动到子 div 的底部?

javascript - 如何使用javascript将两个数组的子集放入不同的数组中?

javascript - 如何从函数内的该变量获取值?

css - 如果我使用 React MediaQuery 组件,如何在桌面版和移动版之间切换

javascript - 类型错误 : Cannot read property 'tap' of undefined when adding webpack-subresource-integrity

reactjs - next/dynamic 中无效的悬念选项使用

javascript - 尝试在 reactjs 上创建打字效果