在 JavaScript 中,true && expression 总是返回 expression,而 false && expression 总是返回 false。因此,如果条件是 true,&& 右侧的元素就会被渲染,如果是 false,React 会忽略并跳过它。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>React 实例</title>
<script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
<script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
<script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
</head>
<body>
<div id="example"></div>
<script type="text/babel">
function Mailbox(props) {
const unreadMessages = props.unreadMessages;
const todoTasks = props.todoTasks;
return (
<div>
<h1>Hello!</h1>
{unreadMessages.length > 0 &&
<h2>
您有 {unreadMessages.length} 条未读信息。
</h2>
}
{todoTasks.length >0 &&
<h2>
您有 {todoTasks.length} 条待办事项。
</h2>
}
</div>
);
}
const messages = ['React'];
const tasks = ['React','er'];
ReactDOM.render(
<Mailbox unreadMessages={messages} todoTasks={tasks} />,
document.getElementById('example')
);
</script>
</body>
</html>