首页 > 解决方案 > `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>

这里有什么陷阱吗?

标签: javascriptreactjsecmascript-6jsx

解决方案


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>


推荐阅读