Skip to content

Commit 1cbb432

Browse files
deblasiscursoragent
andcommitted
fix(learn): address review and visual check for preserving-and-resetting-state (PR #735)
Signed-off-by: Alessandro De Blasis <alex@deblasis.net> Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent e348b70 commit 1cbb432

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

src/content/learn/preserving-and-resetting-state.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1235,7 +1235,7 @@ textarea {
12351235
In una vera app di chat, probabilmente vorresti recuperare lo state dell'input quando l'utente seleziona di nuovo il destinatario precedente. Ci sono alcuni modi per mantenere lo state "vivo" per un componente che non è più visibile:
12361236

12371237
- Potresti renderizzare _tutte_ le chat invece di solo quella corrente, ma nascondere tutte le altre con CSS. Le chat non verrebbero rimosse dall'albero, quindi il loro state locale verrebbe preservato. Questa soluzione funziona benissimo per UI semplici. Ma può diventare molto lenta se gli alberi nascosti sono grandi e contengono molti nodi DOM.
1238-
- Potresti [alzare lo state](/learn/sharing-state-between-components) e conservare il messaggio in sospeso per ciascun destinatario nel componente genitore. In questo modo, quando i componenti figli vengono rimossi, non importa, perché è il genitore che conserva le informazioni importanti. Questa è la soluzione più comune.
1238+
- Potresti [sollevare lo state](/learn/sharing-state-between-components) e conservare il messaggio in sospeso per ciascun destinatario nel componente genitore. In questo modo, quando i componenti figli vengono rimossi, non importa, perché è il genitore che conserva le informazioni importanti. Questa è la soluzione più comune.
12391239
- Potresti anche usare una fonte diversa oltre allo state di React. Ad esempio, probabilmente vuoi che una bozza di messaggio persista anche se l'utente chiude accidentalmente la pagina. Per implementarlo, potresti far inizializzare al componente `Chat` il suo state leggendo da [`localStorage`](https://developer.mozilla.org/it/docs/Web/API/Window/localStorage), e salvare le bozze lì.
12401240

12411241
Indipendentemente dalla strategia che scegli, una chat _con Alice_ è concettualmente distinta da una chat _con Bob_, quindi ha senso dare una `key` all'albero `<Chat>` in base al destinatario corrente.

0 commit comments

Comments
 (0)