"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Termine com CSS-in-JS

Termine com CSS-in-JS

Publicado em 15/08/2024
Navegar:830

CSS em JS

'CSS-in-JS' é um fluxo que começou a partir de componentes estilizados e define o estilo em Javascript.

componente estilizado, Emoção, Mantine, etc.

mérito

    O escopo aplicado é pequeno.
    1. Se você usar o módulo css, também poderá reduzir o escopo do css
  1. Definido no mesmo local do componente. (colocação)
  2. Variável Javascript pode ser usada.
desvantagem

    Sobrecarga de tempo de execução
  1. Você deve baixar o arquivo da biblioteca Css em JS.
    1. A emoção tem 7,9 KB.
    2. Mantine tem 134 KB!
enorme desvantagem

    A inserção frequente de regras CSS causa muito trabalho computacional.
    1. Comparando Emoção e CSS
    2. Ao usar CSS, houve um aumento de desempenho de cerca de 50%.
  1. Ao usar o SSR, surgem vários problemas.
    1. Se você olhar o repositório Emotion, há muitos problemas
Comparação de desempenho no mundo real

Medimos o desempenho comparando CSS-in-JS e Tailwind usando o código realmente usado na produção.

Configurar

    CSS-in-JS usa Mantine (baseado em Emotion).
  • A medição de desempenho usa a ferramenta React dev.
  • A meta de medição de desempenho é uma tabela 30 * 5 (nome do componente: SheetTable).
tela

CSS-in-JS 와 헤어지기

Progresso da experiência

Quando você pressiona o botão
    , a tela acima é renderizada
  • .
  • Ative a gravação no React Profiler e pressione o botão para gravar a renderização da tela
  • Mede o tempo de renderização de SheetTable.
  • Execute um total de 5 vezes para obter a média.
CSS-em-JS (Mantine)

CSS-in-JS 와 헤어지기

Vento favorável

CSS-in-JS 와 헤어지기

resultado

    O tempo de renderização foi reduzido em cerca de 36%.
  • Mesmo alterando apenas o código de uma célula, o desempenho melhorou significativamente. (Claro, a maioria delas são células)
  • Em um monitor de 60 Hz, 1 quadro tem 16 ms, mas 3 quadros -> 2 quadros

CSS-in-JS 와 헤어지기

conclusão

    Usar CSS gerado estaticamente é consideravelmente melhor em termos de desempenho.
  • A menos que você precise usar variáveis ​​JS, use Tailwind.
  • (Adicional) Para introduzir o SSR, é conveniente abandonar o CSS-in-JS
  • .
Referência
[1] https://dev.to/srmagura/why-were-breaking-up-wiht-css-in-js-4g9b

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/siisee11/css-in-js-wa-heeojigi-1pbj?1 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3