Reactjs 将本机组件作为逻辑条件进行反应
我在看一个repo,它有一个带有条件的render语句,该条件将实际组件作为逻辑条件Reactjs 将本机组件作为逻辑条件进行反应,reactjs,react-native,Reactjs,React Native,我在看一个repo,它有一个带有条件的render语句,该条件将实际组件作为逻辑条件 return <Component> { this.state.loading == true && <ActivityIndicator animating={this.state.loading} /> || <View> ...
return <Component>
{
this.state.loading == true &&
<ActivityIndicator
animating={this.state.loading}
/> ||
<View>
...
</View>
}
</Component>
返回
{
this.state.load==true&&
||
...
}
我将其解释为“如果状态正在加载”,并且对reactDOM.render()的调用返回一些东西,或者对reactDOM.render()的调用返回一些东西,然后
但是,那是我的错。然后呢
这是某种三元结构吗?组件中的花括号是什么?指定条件的结果在哪里?这称为
这是javascript的语言特性。当使用&&
和|
链接表达式时,它将始终是最后返回的值。Python对和
以及或
运算符也有同样的作用。其他一些语言(如PHP)总是返回布尔值
事实上,这意味着:
expr1和&expr2
如果可以将expr1转换为false,则返回expr1
;否则,返回expr2
。因此,当与布尔值一起使用时,如果两个操作数都为true,&&将返回true;否则,返回false
expr1 | expr2
如果可以转换为true,则返回expr1
;否则,返回expr2
。因此,当与布尔值一起使用时,如果任一操作数为真,则返回真
此外,&
优先于|
,这意味着a | | b&&c
等同于a | |(b&&c)
您的示例只是将其中两个链接在一起,导致:“Ifthis.state.load
is truthy return
else return
”。这滥用了这样一个事实,即null
、未定义
、true
和false
都是有效的节点,它们实际上不会为条件呈现而呈现任何内容。这被称为
这是javascript的语言特性。当使用&&
和|
链接表达式时,它将始终是最后返回的值。Python对和
以及或
运算符也有同样的作用。其他一些语言(如PHP)总是返回布尔值
事实上,这意味着:
expr1和&expr2
如果可以将expr1转换为false,则返回expr1
;否则,返回expr2
。因此,当与布尔值一起使用时,如果两个操作数都为true,&&将返回true;否则,返回false
expr1 | expr2
如果可以转换为true,则返回expr1
;否则,返回expr2
。因此,当与布尔值一起使用时,如果任一操作数为真,则返回真
此外,&
优先于|
,这意味着a | | b&&c
等同于a | |(b&&c)
您的示例只是将其中两个链接在一起,导致:“Ifthis.state.load
is truthy return
else return
”。这滥用了以下事实:null
、undefined
、true
和false
都是有效的节点,它们实际上不为条件渲染而渲染任何内容