1
resposta

[Sugestão] Para quem está usando Tailwind v4 e Storybook 10!

Olá, pessoal! Tudo bem?

Estou seguindo o projeto Alfabit e, como gosto de me manter atualizada, acabei instalando as versões mais recentes das ferramentas (Tailwind v4 e Storybook 10). Logo de cara, percebi que algumas coisas mudaram bastante em relação ao que o professor mostra no vídeo, e isso pode travar o projeto se a gente não fizer alguns ajustes.

Como já estou com o projeto rodando redondinho por aqui, resolvi compartilhar com vocês o que precisei adaptar para superar essa "barreira das versões". Espero que ajude quem estiver passando pelos mesmos erros!

  1. Tailwind v4: O fim do @tailwind base
    No vídeo, o professor usa três linhas para importar o Tailwind. No v4, isso mudou para uma única importação. No seu globals.css, deixe assim:

CSS
@import "tailwindcss"; /* Padrão da versão 4 */
@config "../tailwind.config.js";

@layer base {
:root {
--primary: #2D5BFF;
}
.theme-violet {
--primary: #AF4BFE;
}
}
2. Storybook 10: O mistério do @storybook/blocks
Se você tentar instalar o @storybook/blocks na versão 10, vai dar erro de dependência. Isso acontece porque esse pacote agora é legado. A solução moderna é importar os blocos direto do addon de documentação.

No seu arquivo Intro.mdx, faça essa troca:

Errado: import { Meta } from '@storybook/blocks';

Correto: import { Meta, Canvas, Story, Controls } from '@storybook/addon-docs/blocks';

  1. Dica de Ouro: Não esqueça o ...props no Button!
    O professor simplifica o componente no vídeo, mas se você remover o ...props, suas variações (como o botão desabilitado) podem parar de funcionar. Minha sugestão é manter assim:

TypeScript
const Button = ({ children, className = '', ...props }: ButtonProps) => {
return (
<button
className={bg-primary text-white rounded-[8px] px-[32px] py-[12px] ${className}}
{...props} // Isso garante que onClick e disabled continuem funcionando!
>
{children}

);
};
4. A "Faxina" Necessária
Se você tentou instalar versões diferentes e o Storybook começou a dar erro de Failed to fetch, o melhor é limpar a casa. Rode esses comandos no terminal:

npm uninstall @storybook/blocks (remova o pacote antigo)

Apague a pasta node_modules e o arquivo package-lock.json

Rode npm install novamente

npm run storybook

Dá um pouquinho mais de trabalho no começo, mas o projeto fica muito mais moderno e estável! Qualquer dúvida, vamos nos ajudando por aqui.

Bons estudos a todos!

1 resposta

Oi Jessica, tudo bem?

Muito obrigada por compartilhar suas descobertas e adaptações para o uso das versões mais recentes do Tailwind e Storybook. Atualizações de ferramentas podem realmente trazer algumas surpresas, e é ótimo ver que você conseguiu contornar essas questões e ainda está disposta a ajudar outras pessoas.

Suas dicas são valiosas, principalmente para quem está começando e pode ficar um pouco perdido com as mudanças. A simplificação da importação do Tailwind na versão 4 e a atualização dos imports no Storybook são pontos que podem realmente causar confusão, então sua explicação é muito bem-vinda.

Além disso, a dica sobre o uso do ...props no componente Button é ótima para garantir que todas as funcionalidades do botão sejam mantidas, como o onClick e o disabled. E a "faxina" no ambiente de desenvolvimento é uma prática que, embora trabalhosa, pode resolver muitos problemas de compatibilidade.

É realmente muito importante se manter atualizado no mundo da tecnologia. Sua iniciativa ajuda vários outros estudantes a evoluírem cada vez mais. Parabéns!

Continue com essa proatividade, aprendendo sempre e compartilhando os aprendizados!

Conteúdos relacionados
Por que é importante se manter atualizado na área da tecnologia? #alura #tecnologia #carreiradev
React: utilizando CSS Modules e Tailwind para estilização de componentes
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!