我正在学习StyleSheet
api,并在此queries中找到以下表达式:
<Text style={[styles.title, this.props.isActive && styles.activeTitle]} />
谁能告诉这个数组内部的&&
运算符是什么?一个小例子将不胜感激。谢谢!!!
答案 0 :(得分:8)
此表单利用了operator short circuiting。
如果this.props.isActive
产生true
,则this.props.isActive && styles.activeTitle
的值为styles.activeTitle
。
在相反的情况下,如果this.props.isActive
为“假”(在布尔上下文中被强制为false),则表达式将短路并产生this.props.isActive
。
React Native中的style
参数可以接受一组合并的样式对象。假值将被跳过*,因此如果为!isActive
,则样式参数将简单地变为styles.title
。
(*合并可能是使用Object.assign
完成的,它只会复制可枚举和自己的属性,并且不会抛出虚假的值;但是我不确定这一点。有人吗?)