- Expédié
- 23 août 2026 à 03:04 UTC
- Auteur
- kamo
- Commite
- 7229b37
ModernColorGroup était contrôlé et incontrôlé en même temps. Il a maintenu localement l'état pour chaque fente, a reflété le prop de valeur dans cet état dans un effet, et a appelé "onChange" d'un autre avec un objet fraîchement construit chaque fois qu'une fente bouge. Le parent stocke ce qu'on lui donne, de sorte que la nouvelle identité d'objet redéclenche le Un drapeau de garde setTimeout (..., 0) a empêché le cycle de converger. Deux conséquences. Monté et intact, le groupe ne s'est jamais discrète: il est refait l'ensemble de la page des paramètres de 3 400 lignes aussi longtemps que l'éditeur Branding était ouvert. Et chaque cocher a poussé la copie du parent vers l'état local, donc tout ce qui a tapé le champ hexagonal était en course avec le miroir. Il a également dérivé les quatre nuances de n'importe quel champ de base tenu au milieu de la frappe. "-c81" est un bel argument de l'entreseInt, donc aucune erreur n'est apparue et les teintes étaient simplement Compatible à partir d'une couleur, personne n'avait fini de taper. Ne dérivez à partir de la valeur, appelez «onChange» uniquement à partir d'événements réels, et refuser de dériver les nuances d'un hexagone incomplet. La machine d'état se déplace vers colorGroupState.ts pour qu'elle puisse être testé directement; le composant conserve son balisage. Trois des quatre nouveaux essais de composants échouent à l'ancienne version, dont celui-ci qui montre le briquet d'édition "-c81": 1e2a9f.