我正在尝试了解StyleSheet.compose和StyleSheet.flatten方法之间的区别。从他们的文档来看,这听起来是一样的,除了flatten似乎修改了原始数据,而compose没有副作用。我的解释是正确的吗?
发布于 2021-05-25 19:17:53
我读了React Native的代码,这些差异现在已经微不足道了。
如果使用compose,以防两个样式的参数都存在,只需将它们连接到样式数组。在另一种情况下,其中一个或两个都是假值,只需返回现有样式或未定义的值。这对于通过某些特殊条件具有动态样式的基样式非常有用,因为浅层比较不会计算动态样式,除非条件匹配。
展平现在的功能是只将多个样式与覆盖以前的元素合并。Once it stores reference of style objects,但现在它覆盖样式而不是展平样式。
因此,为了方便起见,我建议使用compose函数,它可以解决标准风格的道具界面。
详细信息见下面的链接。
https://stackoverflow.com/questions/66988251
复制相似问题