Basicamente, a condição deve ser avaliada como verdadeira ou falsa. Isso é diferente de como as condicionais funcionam em js. Aqui está o que quero dizer:
data.length > 0 && <div />
data.length && <div />
No primeiro caso, se o tamanho da matriz for 0, 0 > 0será avaliado como, falseportanto , será false && [anything really]avaliado como falso, portanto, o componente não será renderizado.
No segundo, no entanto, se o tamanho for 0, 0 && <div />avalia como 0<div />. Em outras palavras, 0 e o elemento serão renderizados. Vindo de js, eu esperaria que o &&operador coagisse 0 no lado esquerdo para um booleano (falso), mas isso não acontece, então ambos são renderizados - é assim que jsx funciona?
Você esperaria que a declaração fosse 0 && <div />avaliada false. Esse seria realmente o caso fora do jsx.
const value = data.length ? 1 : 0;
Que tal a afirmação abaixo, qual você acha que seria o resultado?
data.length ? <div />: <err />;
Então acho que tudo se resume a como os operadores binary (&&)e ternary (? :)lidam com condicionais em jsx - um coage (ternário) e o outro não (binário).
Que tal se trocássemos os operandos do operador binário
<div /> && data.length > 0
Conheço pessoas que ficam longe do operador binário em jsx devido à sua natureza não determinística. Eles usam o ternário e fornecem nullcomo operando quando não querem nada renderizado para uma avaliação particular.
Também descobri que as regras acima funcionam da mesma forma para classNames dinâmicos .
Digamos que você tenha um componente que indica a etapa atual em um processo e deseja dar a ele uma cor / comportamento diferente - estendendo os estilos para todos os componentes da etapa.
<div className={`step ${current ? 'current' : ''}`} />
Que tal usar o nulloperando para a avaliação falsa?
<div className={`step ${current ? 'current' : null}`} />
Que tal tornar-se binário? Bem vamos ver…
<div className={`step ${current && 'current'}`} />
Meu favorito ainda é a string vazia ''para a avaliação falsa. Deixe-me saber a técnica que você implanta .
Se da maneira como você projetou seu componente, você não herdará nenhum estilo, como estou fazendo acima (onde todos os componentes atuais e não atuais têm uma classe pai de step) - e provavelmente está disposto a duplicar algumas das regras ( qual é o dano), então o problema pode se tornar muito mais fácil:
<div className={current ? 'current' : 'not-current'} />
Ainda assim, meu fav é o ''.
Introdução O AVC é uma emergência médica que pode atingir qualquer pessoa a qualquer momento. Ocorre quando o fluxo sanguíneo para uma parte do cérebro é interrompido, levando a uma perda repentina da função cerebral.
Esta semana, recebi um e-mail de um membro da lista de e-mails diários. Eles queriam saber: quais recursos você visita diariamente, semanalmente e mensalmente? Ótima pergunta! Fico feliz em tentar compartilhar algumas ideias sobre meu fluxo de trabalho e os principais recursos que uso.
[Alerta de gatilho: este ensaio inclui capturas de tela de pessoas elogiando o assassino de Jordan Neely.] Os policiais finalmente - e talvez com relutância - acusaram Daniel Penny, o homem que sufocou Jordan Neely até a morte, por aquele homicídio.
Quantas vezes você jogou fora uma garrafa de plástico, uma jarra de vidro, uma lata de alumínio ou uma embalagem de energia verde sem pensar duas vezes? Quantas vezes você desejou receber algo em troca de reciclá-los? Se você for como a maioria das pessoas, a resposta provavelmente é muitas vezes. A reciclagem é muitas vezes vista como um aborrecimento, uma tarefa árdua ou um dever que não traz nenhum benefício imediato ou tangível.
“Ei, Siri, toque Me Dive, de Olivia Dean.” Era maio de 2021 quando comecei meu estágio na Future Academy Africa em Akure, Nigéria.
Ontem, fechamos a porta do Festival Eurovisão da Canção deste ano com uma brilhante e caótica grand finale, onde a cantora sueca Loreen levou para casa o troféu, tornando-se a primeira mulher a vencer duas vezes e trazendo a coroa de volta para a Suécia 50 anos depois que o ABBA venceu a competição com “Waterloo”. Eles se tornaram um dos maiores artistas do cânone da música pop.