Ferma il gruppo di colori che combatte il colore che scegli

Fixkamo-internal
Spegnimento
23 agosto 2026 alle ore 03:04 UTC
Autore
kamo
Impegno
7229b37

ModernColorGroup è stato controllato e incontrollato allo stesso tempo. Ha mantenuto locale stato per ogni slot, specchiato il `valore` prop in quello stato in un unico effetto, e chiamato `onChange` da un altro con un oggetto appena costruito ogni volta che qualsiasi slot si muove. Il genitore memorizza ciò che è consegnato, in modo che la nuova identità oggetto ri-triggered specchio, e un setTimeout(..., 0) la bandiera di guardia ha tenuto il ciclo da sempre convergente. Due conseguenze. Montato e intatto, il gruppo non è mai andato tranquillo: è ri-rendered l'intera pagina delle impostazioni 3.400-line per tutto il tempo che l'editor di Branding era aperto. E ogni zecca ha spinto la copia del genitore indietro sullo stato locale, quindi qualsiasi cosa digitata in il campo esagonale stava correndo lo specchio. Ha anche derivato le quattro ombre da qualsiasi campo base tenuto mid-keystroke — "#c81" è un argomento eccellente per parseInt, quindi nessun errore è uscito e le ombre erano semplicemente calcolato da un colore nessuno aveva finito di digitare. Derive da `value`, chiama `onChange` solo da eventi reali, e rifiuta di derivare ombre da una esagonia incompleta. La macchina di stato si muove a coloreGroupState.ts in modo che possa essere testato direttamente; il componente mantiene il suo markup. Tre dei quattro nuovi test dei componenti falliscono contro la vecchia versione, inclusa quella che mostra "#c81" editoria più leggera: #1e2a9f.

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