Un clic della casella di controllo non dovrebbe ripristinare la barra laterale della cartella

Performancekamo-internal
Spegnimento
26 agosto 2026 alle ore 02:42 UTC
Autore
kamo
Impegno
a0b722b

Sei siti di chiamata leggere il negozio di e-mail con un nudo `useEmailStore()`. In zustand che abbona al negozio WHOLE, in modo che qualsiasi cambiamento ovunque in esso re-renders il componente — e lo stato di selezione vive nello stesso negozio di etichette, regole e cartelle intelligenti. Ticchettio una casella di controllo nell'elenco dei messaggi aggiornatoMessageIds e ri-rendered 1.207-line FolderSidebar, il raccoglitore di etichette, il costruttore di regole del filtro e la cartella intelligente modal insieme ad esso, nessuno dei quali legge la selezione affatto. Ogni sito seleziona ora i singoli campi che utilizza. Le azioni sono riferimenti stabili zustand, quindi selezionando quelli mai causa un render da solo; solo un componente che legge in modo autentico un cambiamento di valore re-renders. MessageBrowser continua a re-renders su un il cambiamento di selezione, che è corretto — ciò che non fa più è ri-render quando le etichette, regole o cartelle intelligenti si muovono. Selettori atomici deliberatamente piuttosto che un selettore che ritorna un oggetto: zustand 5 ha lasciato cadere il confronto superficiale automatico per i selettori di ritorno degli oggetti, in modo che il modulo ha bisogno di usareShallow e reintroduce la stessa classe di bug nel momento in cui qualcuno lo dimentica. Il resto della base di codice stava già facendo questo correttamente — 155 chiamata selettrice siti contro questi 6. I quattro rimanenti abbonamenti a nudo (segnale, documenti, hr, impostazioni firma) passare l'intero oggetto negozio intorno all'interno e la necessità di ristrutturazione piuttosto che un selettore, quindi sono lasciati soli. Verificato: tsc --noEmit pulito su tutti i cinque componenti e il negozio con il loro transitivo importazioni; tutte le 9 guardie passano.

Tutte le modifiche

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo