Afinal de contas, usar ? ou && na renderização condicional em React?
Me tornei um programador frontend profissional a quase 1 ano já e comecei a ter uma visão um pouco mais crítica acerca de práticas de sintaxe e clean code em projetos React.
Em minhas sessões diárias de estudos, percebi uma briga velada entre desenvolvedores que compartilham suas opiniões na internet: "Não use &&" ou "Não use operador ternário".
Em meu primeiro post sobre tecnologia na internet (e também no Tabnews), eu decidi dar a minha opinião sobre isso.
A utilização e conhecimento acerca da renderização condicional é indispensável no meio de um projeto React, nesse momento o desenvolvedor deve escolher qual estrutura lógica ele irá utilizar para tal fim. Quando me deparo com essa necessidade, eu me pergunto: "Irei renderizar apenas uma possibilidade?" Se a resposta for sim, eu opto pelo "(condição verdadeira) &&" (o famoso "então"), para facilitar a legibilidade do código. Em contrapartida, caso o elemento a ser renderizado tenha que aguardar o carregamento de dados (uma requisição em uma API ou o resolve de uma promise) e com isso mostrar um spinner de carregamento, eu opto pelo operador ternário ((condição)? se true : se false).
Isso pode até parecer óbvio, mas vejo que algumas pessoas preferem escrever operadores ternários e colocarem "null" ou um fragmento vazio (<></>) no bloco de código da condicional falsa, o que na minha visão tende a ser pouco (ou menos legível) do que o &&. Mas também não faz sentido utilizar dois blocos de código, o primeiro (condicional) && e o outro (!condicional) &&.
Por fim, minha conclusão é as linguagens e suas sintaxes são apenas ferramentas, algumas servindo muito bem para um propósito, e outras nem tanto. Não se prive de utilizar todo o potencial de uma ferramenta por mero desconhecimento das finalidades da mesma. Utilize ternário ou condicional &&, desde que o contexto da utilização faça sentido, sua aplicação será performática e clean.