是的,您可以,但是null
如果您不想render
从组件中获取任何内容,请不要空白,只需返回,如下所示:
return (null);
另一个重要的一点是,在 JSX 中,如果您有条件地渲染元素,那么在 的情况下condition=false
,您可以返回这些值中的任何一个false, null, undefined, true
。根据DOC:
booleans (true/false), null, and undefined
是有效的孩子,他们将被忽略意味着他们根本不渲染。
所有这些JSX
表达式都将呈现为相同的东西:
<div />
<div></div>
<div>{false}</div>
<div>{null}</div>
<div>{undefined}</div>
<div>{true}</div>
例子:
只有奇数值会被渲染,因为对于偶数值我们返回null
.
const App = ({ number }) => {
if(number%2) {
return (
<div>
Number: {number}
</div>
)
}
return (null); //===> notice here, returning null for even values
}
const data = [1,2,3,4,5,6];
ReactDOM.render(
<div>
{data.map(el => <App key={el} number={el} />)}
</div>,
document.getElementById('app')
)
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id='app' />