- Expédié
- 26 août 2026 à 02:42 UTC
- Auteur
- kamo
- Commite
- a0b722b
Six sites d'appels lisent le magasin d'e-mails avec un 'useEmailStore()'. Dans le zustand que s'abonne à la boutique WHOLE, de sorte que tout changement n'importe où dans celui-ci réenne le composant et l'état de sélection vit dans le même magasin que les étiquettes, les règles et les dossiers intelligents. Ticking une case à cocher dans la liste de messages mise à jour selectedMessageIds et re-rendu 1 07 lignes FolderSidebar, le sélecteur d'étiquettes, le constructeur de règles de filtrage et le dossier intelligent modal avec lui, aucun d'entre eux ne lit la sélection. Chaque site sélectionne maintenant les champs individuels qu'il utilise. Les actions sont des références stables dans zustand, de sorte que le choix de ceux-ci ne provoque jamais un rendu en soi; seulement un composant qui C'est vraiment l'on lit une valeur modifiée qui rére-rerendre. MessageBrowser ré-retourne encore sur un le changement de sélection, ce qui est correct - ce qu'il ne fait plus est de re-rendu lorsque les étiquettes, les règles ou les dossiers intelligents se déplacent. Sélecteurs délibérément atomiques plutôt qu'un sélecteur de retour d'un objet: zustand 5 a abandonné la comparaison automatique peu profonde pour les sélecteurs à retour d'objet, de sorte que la forme a besoin d'utiliserShallow et réintroduit la même classe de bugs au moment où quelqu'un l'oublie. Le reste de la base de code le faisait déjà correctement. contre ces six-six-voir. Les quatre abonnements nus restants (signe, documents, h, les paramètres de signature) passez l'ensemble de l'objet de la boutique en interne et nécessite une restructuration plutôt qu'un sélecteur, de sorte qu'ils sont laissés seuls. Vérifié: tsc --noEmit nettoyez sur les cinq composants et le magasin avec leur transitif les importations; les 9 gardes passent.