Seletores e prevenção de novas renderizações desnecessárias
Extraia partes específicas do estado por meio de seletores para que os componentes só sejam renderizados novamente quando necessário.
Seletores e prevenção de novas renderizações desnecessárias é 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 problema do seletor padrão
// Bad: re-renders on every store change
const store = useAppStore();
return <p>{store.user.name}</p>;Usando um seletor
// Good: re-renders only when user.name changes
const name = useAppStore(s => s.user.name);
return <p>{name}</p>;Verificação de igualdade por referência
// Creates a new object every time — always re-renders!
const info = useStore(s => ({ id: s.id, name: s.name }));Corrigindo com igualdade superficial
import { shallow } from 'zustand/shallow';
const info = useAppStore(
s => ({ id: s.id, name: s.name }),
shallow // compare by content, not reference
);Selecionando vários valores
const { items, loading } = useCartStore(
s => ({ items: s.items, loading: s.loading }),
shallow
);Referências estáveis das ações
// Actions are always stable — no shallow needed
const addToCart = useCartStore(s => s.addToCart);Auxiliar useShallow (Zustand v5+)
import { useShallow } from 'zustand/react/shallow';
const { items, loading } = useCartStore(
useShallow(s => ({ items: s.items, loading: s.loading }))
);Combinando seletores
const totalPrice = useCartStore(
s => s.items.reduce((sum, item) => sum + item.price, 0)
);Analisando renderizações novamente no Zustand
Verificação rápida
Recapitulação
A seguir
Perguntas Frequentes
A aula “Seletores e prevenção de novas renderizações desnecessárias” é grátis?
Sim — o texto completo de “Seletores e prevenção de novas renderizações desnecessárias” é 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 “Seletores e prevenção de novas renderizações desnecessárias”?
Extraia partes específicas do estado por meio de seletores para que os componentes só sejam renderizados novamente quando necessário. 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 “Seletores e prevenção de novas renderizações desnecessárias”?
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
- Criando seu primeiro armazenamento Zustand
- Seletores e prevenção de novas renderizações desnecessárias
- Persistindo o estado com o middleware persist
- DevTools do Zustand e testes de armazenamentos