React Native-为什么在数组中使用&&运算符?

时间:2018-12-07 15:59:47

标签: javascript reactjs react-native ecmascript-6 jsx

我正在学习StyleSheet api,并在此queries中找到以下表达式:

<Text style={[styles.title, this.props.isActive && styles.activeTitle]} />

谁能告诉这个数组内部的&&运算符是什么?一个小例子将不胜感激。谢谢!!!

1 个答案:

答案 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完成的,它只会复制可枚举和自己的属性,并且不会抛出虚假的值;但是我不确定这一点。有人吗?)