Ao usar &&
, temos que ter cuidado quando o lado esquerdo é um número, porque se for um 0
, ele será renderizado. Um exemplo grosseiro:
const count = 0
//...
<div>
{count && <p>The count is {count}</p>}
</div>
Teríamos o 0
renderizado:
<div>0</div>
É bom garantir que o lado esquerdo é sempre um booleano:
const count = 0
//...
<div>
{count > 0 && <p>The count is {count}</p>}
</div>
Teríamos uma div
vazia:
<div></div>