我有点困惑为什么当 errors.email
不是 false 值时会呈现这种情况。 JSX 是否会被忽略,并且只查看右侧的errors.email,因此基本上表达式是 if (errors.email && error.email)
?
只是有点奇怪。我以前从未见过这个。
{ errors.email && ( <div className="invalid-feedback">{errors.email}</div> ) }
最佳答案
与其他一些语言不同,&&
和 ||
不一定会产生 true
或 false
;相反,它们取其操作数之一的值。
对于&&
:
如果
errors.email
为 falsy,则&&
表达式的结果是errors.email 的值
(并且右侧永远不会被评估)。如果
errors.email
为 truthy,则对右侧进行求值,并且由它创建的对象(对其的引用)将成为以下结果&&
表达式。
关于javascript - 为什么这等于 True 并因此在 React 中渲染一个 div ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50076928/