TypeScript é ótimo. Eu fiz a mudança alguns anos atrás, quando estava começando um novo projeto. Não olhei para trás desde então. Sinto-me muito mais confiante no código que produzo, de que funcionará (principalmente) como espero. Às vezes, essa confiança pode voltar para me morder.
Hoje, eu estava adicionando algumas funcionalidades a uma clearFiltersfunção que temos. É mais ou menos assim:
const [activeFilters, setActiveFilters] = useState<Filter[]>(initialFilters)
const clearFilters = () => {
setActiveFilters([])
}
Em Filters, é mais ou menos assim:
interface Props {
filters: Filter[]
clearFilters: () => void
}
const Filters: React.FC<Props> = ({
return (
<div>
... the filters
<button
onClick={clearFilters}
>
Clear All
</button>
</div>
)
})
Excelente! Vamos atualizar nossa clearFiltersfunção
const clearFilters = (except?: FilterType[]) => {
if(except){
setActiveFilters(activeFilters.filter((f) => except.includes(f.type))
} else {
setActiveFilters([])
}
}
Estou recebendo uma exceção toda vez que tento limpar os filtros que dizem que except.includesnão é uma função! O que o quê ?!
Achei que realmente havia superado o TypeScript com este erro. Acontece que é um erro bem simples. Mas, como acontece com todos os erros, só é simples depois de você ter descoberto.
Vamos olhar Filtersnovamente.
interface Props {
filters: Filter[]
clearFilters: () => void
}
const Filters: React.FC<Props> = ({
return (
<div>
... the filters
<button
onClick={clearFilters}
>
Clear All
</button>
</div>
)
})
interface Props {
filters: Filter[]
clearFilters: (except?: FilterType[]) => void
}
Para corrigir isso, fazemos outra pequena atualização:
<button onClick={() => clearFilters()}>All Clear</button>
2. Escreva testes automatizados
Nesse caso, meu erro foi detectado por nossos testes Cypress no servidor de compilação. Se não fosse por isso, é possível que este código pudesse ter sido lançado em produção sem que ninguém percebesse que estava quebrado. Esses testes automatizados evitaram grandes dores de cabeça, especialmente antes de uma implantação na noite de uma sexta-feira.
Espero que meus erros possam salvá-lo de alguns no futuro! Onde você encontrou coisas com o TypeScript que aconteceram de maneira diferente do que você esperava? Que lições você aprendeu ao longo do caminho?
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.
O teste é uma parte essencial do desenvolvimento de software. Ele garante que o código seja confiável, funcione conforme o esperado e reduza a probabilidade de erros.
Mudar para uma nova carreira pode ser extremamente desafiador se você tentar fazer isso sozinho. É importante encontrar parceiros de responsabilidade que estejam no mesmo nível de aprendizado que você, que compartilhem objetivos, tenacidade e motivação semelhantes.
No mundo acelerado e competitivo de hoje, a carreira desempenha um papel significativo no crescimento pessoal, na estabilidade financeira e na satisfação geral com a vida. No entanto, muitos indivíduos encontram-se presos em um ciclo implacável de estagnação e insatisfação, definhando gradualmente em suas vidas profissionais.
Qualquer mente racional sabe que os círculos políticos e midiáticos são dominados pela esquerda, até mesmo pela extrema esquerda, um estado de coisas que cria um desequilíbrio no discurso político. No campo da religião, esse desequilíbrio é bem visível: jornais e redes de esquerda não se apressam em defender a fé cristã.
Introdução:Bem-vindos, corajosos leitores, a uma jornada que nos levará às profundezas mais sombrias do nosso planeta. Neste blog, mergulhamos no mundo enigmático da Fossa das Marianas, revelando seus segredos ocultos e revelando as verdades arrepiantes que se escondem sob sua superfície.