Uma caixa de seleção não deve re- renderizar a barra lateral da pasta

Performancekamo-internal
Navios
26 de agosto de 2026 às 02:42 UTC
Autor
kamo
Enviar
a0b722b

Seis sites de chamadas leram o email store com um `useEmailStore(). Em zustand que assina a loja WHOLE, portanto qualquer alteração em qualquer lugar re-render o componente – e estado de seleção vive na mesma loja que rótulos, regras e pastas inteligentes. Ticking uma caixa de seleção na lista de mensagens atualizada selectedMessageIds e re-rendered the FolderSidebar de 1.207 linhas, o seletor de etiquetas, o construtor de regras de filtro e a pasta inteligente modal junto com ele, nenhum dos quais ler seleção em tudo. Cada site agora seleciona os campos individuais que usa. Ações são referências estáveis em zustand, então selecionar aqueles nunca causa uma renderização por conta própria; apenas um componente que genuinamente lê um valor alterado re-renders. O Pesquisador de Mensagens ainda re- renderiza em um mudança de seleção, o que é correto — o que ele já não faz é re-render quando etiquetas, regras ou pastas inteligentes mover. Selectores deliberadamente atómicos em vez de um selector que devolve um objecto: zustand 5 deixou cair a comparação superficial automática para os seletores de retorno de objetos, de modo que forma precisa usar Shallow e reintroduz a mesma classe de bug no momento em que alguém esquece. O resto da base de códigos já estava fazendo isso corretamente — 155 chamada baseada em seletor sites contra estes 6. As quatro subscrições em branco restantes (sinal, documentos, hr, configurações de assinatura) passar todo o objeto da loja em torno internamente e precisa de reestruturação em vez de um selector, por isso ficam em paz. Verificado: tsc --noEmit clean sobre todos os cinco componentes e a loja com o seu transitivo Importações; todos os 9 guardas passam.

Todas as alterações

Como o que vês no transporte?

Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.

Começar Livre Para SempreVer Preços