【发布时间】:2020-12-04 18:30:07
【问题描述】:
我的理解是&& 是一个“与”运算符。代码块中&& 后面的内容如何返回布尔值?
{accounts.length > 0 && (
<View>
{accounts.map((account) => (
<AccountListItem
key={account.mask}
account={account}
selectedAccount={selectedAccount}
setSelectedAccount={setSelectedAccount}
/>
))}
</View>
)}
【问题讨论】:
-
它不返回布尔值,它返回一个元素。
-
也就是说如果accounts.length > 0 则执行下面的代码,就像一个简写的if语句
-
它返回一个元素,如果元素存在则为真
-
仅供参考:虽然使用
&&有效,但如果条件为false,通常建议使用显式返回null的三元组。虽然我不记得推理... -
@Slbox 你不能使用
accounts.length && <View />,因为即使0是假的,它也会呈现为“0”(数字被转换为字符串;<>before{0}after</>呈现“before0after”) .不过,除了样式偏好之外,没有特别的理由不使用accounts.length > 0 && <View />。
标签: javascript reactjs jsx