Trabalhar com lógica em arquivos JSX

Concluído

JSX é uma combinação de HTML e JavaScript. Se quiser lógica, por exemplo, determinar como ou se deseja exibir algo, use JavaScript. Você pode usar instruções if...else, instruções case ou qualquer outra lógica booliana.

Operador ternário

Uma das maneiras mais populares de injetar a lógica booliana em um aplicativo é o operador ternário. O operador ternário é uma maneira abreviada de criar uma instrução if...else em uma única linha de código. Há três componentes da sintaxe ternária: a expressão booliana, o valor retornado se a expressão for true e o valor de retorno se a expressão for false.

Por exemplo, se quiser exibir uma mensagem se um número for par ou ímpar, você poderá escrever o seguinte:

const number = 3;
console.log(number % 2 ? 'The number is odd' : 'The number is even');

Inicie a expressão com o valor booliano (number % 2). Se o número for ímpar, o valor booliano (resto) será 1 ou true; o primeiro valor (The number is odd) será retornado. Se o número for par, o resto será 0, portanto, o valor booliano será false; o segundo valor (The number is even) será retornado. O código anterior resulta na mensagem The number is odd.

Ternário e JSX

Você pode aproveitar essa sintaxe para determinar como os valores devem ser exibidos. Se quiser definir dinamicamente a class de um elemento HTML com base em um valor, poderá usar o seguinte:

<div className={ isComplete ? 'done' : 'normal' }>{ value }</div>

Observação

Você pode observar que o atributo usado é className em vez de class. Isso ocorre porque a palavra class está reservada em JavaScript. Para evitar o conflito de runtime, use className em vez disso.