1
resposta

CSS no React

Comecei desenvolver um projeto pra faculdade com React e inicialmente pensei em utilizar apenas css puro. Porém comecei a ter problemas com conflito de nomes de classe CSS nas minhas páginas, exemplo:

export default function Login() {
  return (
    <header className="header">
      <img src={Logo} alt="uLift Logo" />
      <span>uLift</span>
    </header>
  );
}
const Header = () => {
  return (
    <header className="header">
      <Link to="/" className="header__link">
        <img src={Logo} alt="uLift Logo" className="header__logo" />
        <span className="header__title">uLift</span>
      </Link>
    </header>
  );
};

Utilizei dois arquivos CSS em diretórios diferentes de cada componente, porém estou tendo conflito das classes onde a classe "header" no Login está pegando o estilo do componente Header.

Qual alternativa tenho além de styled components ?

1 resposta

Oi, Luan, tudo bem?

O styled components é justamente para te auxiliar e evitar esse efeito cascata do CSS, que no caso está soprepondo. No projeto, o ideal é que se use o CSS puro? Por que caso não tenha essa obrigação, use o styled components. Particularmente, estou fazendo um projeto em React usando o styled components e é muito bom porque você consegue controlar mais como o seu estilo vai se comportar diminuindo o efeito cascata do css. Temos no nosso blog uma introdução ao styled components: https://www.alura.com.br/artigos/react-componentes-com-styled-components E é bem tranaquilo de usar.