我为什么要使用React原生StyleSheet?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我为什么要使用React原生StyleSheet?相关的知识,希望对你有一定的参考价值。
我为什么要用这个:
const styles = StyleSheet.create({
...
});
而不是这个:
const styles = {
...
};
StyleSheet提供的属性对我来说似乎不太需要。
答案
Performance of rendering is the main advantage.
将常规样式对象传递到StyleSheet.create()
时,模块将冻结对象并为每个对象分配一个ID。这允许避免在每次渲染过程中创建新的样式对象,并且它允许仅跨异步桥发送一次对象。在每次渲染时发送相同的样式对象可能会导致渲染性能下降。
从我所看到的,当设置组件的样式时,即使传递对象数组,它们也都工作(普通对象,StyleSheet对象)。
使用StyleSheet
对象时的缺点
1)你不能像这样styles.myNiceComponent.backgroundColor === 'blue'
进行比较
关于这个缺点的更多细节在这里:Why can't we check a style attribute of a react-native app?
2)根据某些标准(如屏幕旋转)重新计算样式需要一些额外的基础结构代码来确定要使用的样式。如果您使用简单的对象,则每次都可以重新计算它们。
以上是关于我为什么要使用React原生StyleSheet?的主要内容,如果未能解决你的问题,请参考以下文章