Có, bạn có thể, nhưng thay vì để trống, chỉ cần quay lại null
nếu bạn không muốn render
bất cứ thứ gì từ thành phần, như thế này:
return (null);
Một điểm quan trọng khác là, bên trong JSX nếu bạn kết xuất phần tử một cách có điều kiện, thì trong trường hợp condition=false
, bạn có thể trả về bất kỳ giá trị nào trong số này false, null, undefined, true
. Theo DOC :
booleans (true/false), null, and undefined
là những đứa trẻ hợp lệ , chúng sẽ bị bỏ qua nghĩa là chúng đơn giản không kết xuất.
Tất cả các JSX
biểu thức này sẽ hiển thị cùng một điều:
<div />
<div></div>
<div>{false}</div>
<div>{null}</div>
<div>{undefined}</div>
<div>{true}</div>
Thí dụ:
Chỉ các giá trị lẻ sẽ được hiển thị, bởi vì đối với các giá trị chẵn chúng ta sẽ trả về 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' />