我有以下简单的短路语句,应该显示组件或什么都没有: {profileTypesLoading GeneralLoader /} 如果该语句为false,则呈现0而不是0. 我已经完成了一个console.log(profileTypesLoading),只是为了快速查看p
{profileTypesLoading&& < GeneralLoader />}
如果该语句为false,则呈现0而不是0.
我已经完成了一个console.log(profileTypesLoading),只是为了快速查看profileTypesLoading属性的状态,它是预期的1或0. 0应为false …导致无法渲染.对?
知道为什么会这样吗?
因为你的条件是假的,所以不返回第二个参数(< GeneralLoader />),它将返回profileTypesLoading,这是一个数字,所以react将呈现它,因为React跳过渲染任何为typeof
boolean
or undefined
的东西并将渲染什么是
typeof
string
or number
:
为了使其安全,您可以使用三元表达式{条件? <组件/> :null}或boolean像{!! condition&& ;; < Component />}