Anúncio de uma nova versão do Styled Components v5: Animal Grin


Temos o prazer de anunciar a nova quinta versão dos componentes de estilo ! A nova versão é totalmente compatível com a versão anterior, desde que o React ^ 16.8 seja usado.


A versão beta da quinta versão pode ser experimentada agora:


npm install styled-components@beta 

Precisamos de uma versão do React que suporte o React.hooks, ou seja, react@^16.8 react-dom@^16.8 react-is@^16.8


E agora sobre as mudanças!


Rápido. Ainda mais rápido. Componentes denominados.


Quando lançamos a segunda versão, há mais de 2 anos, prometemos nos concentrar no desempenho. Já aceleramos bastante o trabalho da biblioteca em vários lançamentos. Portanto, obtivemos um aumento de dez vezes na velocidade na versão 3.1 e outra aceleração de 25% na versão 4.


Na quinta versão, a biblioteca de componentes com estilo agora é ainda mais rápida! Comparando com a versão 4, obtivemos:


  • Tamanho do código reduzido 19% menor (16,2kB vs. 13,63kB min + gzip) ️
  • Inicialização 18% mais rápida no lado do cliente
  • Atualização de estilos dinâmicos 17% mais rápida
  • Renderização do servidor 45% (!!!) mais rápida

Os componentes com estilo já eram uma das bibliotecas CSS-in-JS mais rápidas, mas agora são ainda mais rápidas, mas com a quinta versão, reforçamos nossa posição nos líderes:



Inicialização da árvore de componentes. Menos é melhor.


Um aumento significativo na velocidade foi alcançado graças ao nosso novo núcleo. Ele não sofre alterações há anos, portanto, reescrevemos-no completamente com foco no desempenho e na precisão (correção).


Apesar de extensos testes internos, ainda existem alguns bugs que definitivamente iremos corrigir. Também pedimos à comunidade ajuda no teste do beta para que o lançamento seja o mais estável possível.


Experimente a biblioteca e diga-nos se algo deu errado:


 npm install styled-components@beta 

Se você estiver usando componentes com estilo de brincadeira, atualize esta biblioteca para beta.


Claramente. Ainda mais claramente. Reagir o DevTools


Agora, todos os seus componentes estilizados estão funcionando totalmente no React.hooks, portanto a estrutura da árvore é muito mais visual e simples.


Por exemplo, um componente TagLine estilizado procura no React DevTools antes das alterações (v4):


 <TagLine> <StyledComponent forwardedRef={null}> <Context.Consumer> <Context.Consumer> <h2 className=”H2-sc-1izft7s-7”>Hello world</h2> </Context.Consumer> </Context.Consumer> </StyledComponent> </TagLine> 

E assim - depois das mudanças (v5)


 <TagLine> <h2 className=”H2-sc-1izft7s-7”>Hello world</h2> </TagLine> 

Claro o suficiente? E aqui está um exemplo de uma aplicação real:
Comparação da árvore de componentes do React nas v4 e v5
Reagir a árvore de componentes do DevTools para styled-components.com. À esquerda está a quarta versão, à direita está a quinta. Uau! (Clicável)


Muito obrigado a Jessica Franco e Alexander Nanberg por refatorar o código usando o React.Hooks.


Novo. Ainda mais novo. StyleSheetManager


<StyleSheetManager /> recebeu uma atualização significativa na quinta versão, permitindo que os plugins expandissem nosso analisador de CSS (stylis).


Isso pode ser usado para vários cenários, por exemplo, para suporte completo e automático da direita para a esquerda.


Suporte RTL


Com este plug-in, você pode substituir facilmente a direção da esquerda para a direita por uma direção da direita para a esquerda:


 import { StyleSheetManager } from 'styled-components'; import stylisRTLPlugin from 'stylis-rtl'; <StyleSheetManager stylisPlugins={[stylisRTLPlugin]}> <App /> </StyleSheetManager> 

Isso é tudo o que existe! Estamos muito satisfeitos e surpresos com as oportunidades que se abrem com os plugins. Agora você pode dar aos componentes estilizados uma superpotência!


Apoie-nos


componentes estilizados são amplamente utilizados pela comunidade. Muito largo. A biblioteca foi baixada 39 milhões de vezes e é uma dependência para centenas de milhares de repositórios públicos, não incluindo muitos particulares que não são mostrados nas estatísticas do GitHub.


Como a biblioteca é amplamente usada por nós, a equipe principal, assumimos sérias responsabilidades. Infelizmente, a manutenção e o suporte da biblioteca são quase completamente voluntários. E somos muito limitados em recursos, para pagar alguém, para organizar ou participar de conferências e cúpulas.


Se você usa a biblioteca no trabalho, considere apoiar-nos no OpenCollective. Gostaríamos muito de reunir nossa equipe em uma sala este ano, e esse suporte nos ajudará a implementar nosso plano.


Toda a equipe espera que você aproveite a quinta versão. E, como sempre, fique elegante!

Source: https://habr.com/ru/post/pt456422/


All Articles