Componentes puros e prevenção de efeitos colaterais na renderização
Escreva funções de renderização sem mutações nem leituras externas.
Componentes puros e prevenção de efeitos colaterais na renderização é uma aula grátis de React Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de React Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de React Academy inclui 4 aulas no total.
Boas-vindas
O que é uma função pura?
Por que a pureza é importante no React
Impureza comum: alterando estado externo
let totalRenders = 0; // external
function Counter() {
totalRenders++; // BAD: side effect in render
return <p>{totalRenders}</p>;
}Impureza comum: alterando propriedades
// Bad
function Badge({ user }) {
user.name = user.name.toUpperCase(); // mutates prop!
return <p>{user.name}</p>;
}
// Good
function Badge({ user }) {
const displayName = user.name.toUpperCase();
return <p>{displayName}</p>;
}Impureza comum: usando aleatório ou data na renderização
// Bad
function Token() {
const id = Math.random(); // different every render!
return <p>{id}</p>;
}
// Good
function Token() {
const [id] = useState(() => Math.random());
return <p>{id}</p>;
}As chamadas de API pertencem a useEffect
// Bad
function Profile({ id }) {
fetch('/api/user/' + id); // runs on every render!
return <div />;
}
// Good
useEffect(() => {
fetch('/api/user/' + id).then(/*...*/);
}, [id]);Alterações locais são aceitáveis
function List({ items }) {
const sorted = [...items]; // new array
sorted.sort(); // mutating a local copy: OK
return sorted.map(i => <li key={i}>{i}</li>);
}Usando o Modo estrito para encontrar impurezas
Componentes puros e React.memo
const Pure = React.memo(function Pure({ value }) {
return <p>{value}</p>;
});Verificação rápida
Recapitulação
Próxima lição
Perguntas Frequentes
A aula “Componentes puros e prevenção de efeitos colaterais na renderização” é grátis?
Sim — o texto completo de “Componentes puros e prevenção de efeitos colaterais na renderização” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de React Academy, atualize para CoddyKit PRO. O curso de React Academy inclui 4 aulas no total.
O que vou aprender em “Componentes puros e prevenção de efeitos colaterais na renderização”?
Escreva funções de renderização sem mutações nem leituras externas. Você pratica React Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar React Academy?
Nenhuma experiência prévia é necessária. React Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Componentes puros e prevenção de efeitos colaterais na renderização”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de React Academy?
Sim. Cada aula de React Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- O que StrictMode faz
- Componentes puros e prevenção de efeitos colaterais na renderização
- Boas práticas para chaves e refs
- Estrutura de pastas e convenções de nomenclatura