小编典典

使用短路(&&)条件组件反应显示0而不是什么

reactjs

我有以下简单的短路语句,应显示一个组件或不显示任何内容:

{profileTypesLoading && <GeneralLoader />}

如果该语句为假,则呈现a 0而不是什么。

我所做的console.log(profileTypesLoading)只是为了快速查看该profileTypesLoading属性的状态,它是预期的1或0。0应该为假…什么也不会渲染。对?

知道为什么会这样吗?


阅读 323

收藏
2020-07-22

共1个答案

小编典典

因为你的条件是falsy,因此不会返回第二个参数(<GeneralLoader />),它会返回profileTypesLoading,这是一个数字,所以反应会使其因为阵营跳过渲染什么,是typeof
booleanundefined
,并会呈现什么是typeof
stringnumber

为了安全起见,您可以使用三元表达式{condition ? <Component /> : null}或布尔值将条件转换为{!!condition && <Component />}

2020-07-22