在我的应用程序的根目录下,我有两个 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/