Lavorare con React.js è davvero divertente.React.js: come generare una chiave quando si crea una creazione ottimistica?
Ho creato una semplice app di commento basata sul tutorial ufficiale.
È possibile aggiungere, modificare ed eliminare commenti. Sono tirati via GET ogni 10 secondi.
A un certo punto, il tutorial menziona gli aggiornamenti ottimistici: l'aggiornamento dell'interfaccia utente prima che il server abbia risposto in caso di un'operazione di creazione, aggiornamento o eliminazione.
Poiché i commenti fanno parte di un elenco, React suggerisce di assegnare una chiave univoca a ciascun commento.
Pertanto, utilizzo l'ID del database di ciascun commento come chiave. Funziona bene per le operazioni di aggiornamento e cancellazione.
Tuttavia, nel caso di un'operazione di creazione, non conosco l'ID del database di un commento fino a quando non è stato effettivamente creato sul lato server, e quindi non so quale valore assegnare alla chiave.
In quel momento, il commento viene aggiunto all'elenco dei commenti ma non ha chiave/ID e pertanto non può essere modificato o eliminato, fino a quando l'elenco non viene aggiornato durante il successivo sondaggio API.
Posso aggirare questo?
probabilmente aggiungerò il commento appena creato alla lista subito, quindi rimuoverlo e sostituirlo con il post-creare la risposta API non appena ritorna. –
Quindi in pratica non si fanno operazioni di creazione ottimistiche, giusto? Solo aggiornamenti ottimistici? – danmaz74
Questo non risponde alla domanda correttamente. Un buon approccio è usare un id temporaneo, controllare la risposta meticoeus. – fromvega