首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >StyleSheet.compose和StyleSheet.flatten有什么区别?

StyleSheet.compose和StyleSheet.flatten有什么区别?
EN

Stack Overflow用户
提问于 2021-04-07 22:30:42
回答 1查看 267关注 0票数 1

我正在尝试了解StyleSheet.composeStyleSheet.flatten方法之间的区别。从他们的文档来看,这听起来是一样的,除了flatten似乎修改了原始数据,而compose没有副作用。我的解释是正确的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-25 19:17:53

我读了React Native的代码,这些差异现在已经微不足道了。

如果使用compose,以防两个样式的参数都存在,只需将它们连接到样式数组。在另一种情况下,其中一个或两个都是假值,只需返回现有样式或未定义的值。这对于通过某些特殊条件具有动态样式的基样式非常有用,因为浅层比较不会计算动态样式,除非条件匹配。

展平现在的功能是只将多个样式与覆盖以前的元素合并。Once it stores reference of style objects,但现在它覆盖样式而不是展平样式。

因此,为了方便起见,我建议使用compose函数,它可以解决标准风格的道具界面。

详细信息见下面的链接。

https://github.com/facebook/react-native/blob/dc80b2dcb52fadec6a573a9dd1824393f8c29fdc/Libraries/StyleSheet/StyleSheet.js

https://github.com/facebook/react-native/blob/dc80b2dcb52fadec6a573a9dd1824393f8c29fdc/Libraries/StyleSheet/flattenStyle.js

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66988251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档