首页 > 解决方案 > 样式化的组件是否被记忆?

问题描述

只是想知道样式化的组件是否被记忆,或者我是否可以/需要独立地做到这一点?具体来说,传递给模板文字的道具是否已被记忆,这样样式化的组件仅在道具的值发生变化时才会重新渲染?

如果它需要独立完成,你如何做到这一点?

标签: styled-components

解决方案


我检查了源代码,它似乎对生成的 CSS 进行了哈希处理,并且仅在哈希不存在时才更新页面样式。当 props 没有改变时,这应该可以防止 DOM 发生变化。

组件本身不会被记忆。你可以用 React.memo() 包装来实现这一点。但是当主题发生变化时,您可能会遇到问题。


推荐阅读