javascript - 在 React 中通过 props 或 state 更新样式时如何避免重新渲染子项?

标签 javascript css reactjs

在我的应用程序的根目录下,我有两个 React 组件,Menu 和 Main。通过将菜单平移到视口(viewport)之外的左侧来隐藏菜单。当它可见时,我还希望主要内容向右翻译。为此,我只需将 menuOpened 属性( bool 值)传递给两个组件。它将应用设置 CSS 转换属性 translateX() 的条件样式。问题是,当我更新 Prop 时,所有的 child 都会重新渲染。是否有根据状态/ Prop 更改组件样式的更好做法?

最佳答案

正如提到的评论 - “重新渲染”并不昂贵。由于您的 DOM 树中几乎没有任何变化,差异很小,因此实际变化很小。

但是如果你真的想控制组件何时重新渲染,你可以使用 React 生命周期方法 shouldComponentUpdate(...)

关于javascript - 在 React 中通过 props 或 state 更新样式时如何避免重新渲染子项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46534578/

相关文章:

javascript - HTML 5 本地存储在 iOS 6、7 或 8 上的 UIWebView 中不起作用

javascript - 谷歌地图信息窗口显示kml对象名称和链接

javascript - requirejs blueimp fileuploader 只加载 min.js 文件而不加载其他文件

html - 如何摆脱div右侧的空白?

javascript - 将 AddThis 添加到 React 组件

javascript - Angular 响应正文返回带有 JSON 括号的文本条纹。啊?

css - 关于对齐两行文本的简单 Div/文本问题

reactjs - React-cropper - cropBox 不在图像中

reactjs - 使用默认文本 react native iOS 打开消息应用程序

css - 悬停链接后,CSS 声明不起作用