javascript - `return false && 是什么意思` 真的回来了?为什么它不会破坏我的 React 代码?
问题描述
const Test = () => {
return (
false && <div> hello </div>
)
}
这不会返回<div>hello</div>
,因为第一个操作数是 (literally) false
。但是在 React 中使用 this 时返回的是什么?为什么这不会破坏我的代码?
到目前为止,我总是这样做:
if (condition) {
return <div>hi</div>
} else {
return </>
}
但似乎这样做很好
return condition && <div>hi</div>
这里有什么陷阱吗?
解决方案
boolean
是一个有效的 React Node 类型;这是打字稿中的所有有效类型:
type ReactNode = ReactChild | ReactFragment | ReactPortal | boolean | null | undefined;
function App(){
console.log("rendered correctly")
return false
}
ReactDOM.render(<App/>, root)
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<div id="root"></div>
推荐阅读
- python - Keras Tensorflow val_acc 始终为 1 或从 0 跳转到 1
- jquery - 想要使用 jquery 在页面中查找活动按钮的数量
- mysql - 寻找 MySQL 默认昨天日期
- c++ - 是否可以解密受 cnc 保护的 MPEG-DASH 文件?
- java - 从 Web 服务将数据填充到 Web 用户控件中的表中
- python - 使用代理模型的 Django 继承和多态性
- java - 将流式集合写入文件 Java-Mongo
- c++ - 虽然不等于声明和或差异
- extjs - 如何以编程方式将工具提示添加到组合框
- sql-server - vs shell 安装失败,退出代码 1638