Ora per eliminare l'elemento che è stato premuto, aggiungerò una nuova funzione qui nel mio componente dell'app,
quindi una nuova funzione che memorizzo in
questa costante e lo chiamerò rimuovi gestore degli
obiettivi e qui mi aspetto di ottenere l'ID obiettivo come input perché questo ID ci consente di identificare l'elemento
che vogliamo rimuovere, in alternativa, potremmo
anche ottenere l'indice nell'array e quindi rimuovere l'oggetto per indice ma penso che
l'ID sia ancora migliore perché abbiamo un ID chiaramente abbinato ad ogni elemento, perché non dovremmo usarlo per
eliminarlo e ora qui
possiamo impostare gli obiettivi del nostro corso perché ovviamente voglio aggiornare gli obiettivi del mio corso e
di nuovo, stiamo facendo un aggiornamento basato sul nostro attuali obiettivi del corso, quindi userò
quella funzione qui, passo una funzione,
una funzione anonima per impostare gli obiettivi del corso.
Lì ottengo la mia istantanea di stato
attuale, i miei obiettivi di corso attuali e nel corpo della funzione, devo restituire gli obiettivi di corso aggiornati.
Ora, nel caso ti stia chiedendo perché non ho parentesi graffe qui, qui uso la sintassi più breve in cui ho solo
un'espressione che voglio restituire, quindi ometto il corpo
della funzione e l'istruzione return. Qui avrò una frase
un po 'più lunga, quindi voglio avere il corpo della funzione qui per leggibilità
perché qui, restituirò il filtro degli obiettivi attuali perché il filtro è un metodo incorporato incorporato in Javascript che
ci consente per restituire un nuovo array, il filtro produce sempre un nuovo array basato sul vecchio array
su cui lo si chiama filtrato in base a determinati criteri.
Ora i criteri vengono infine passati con l'aiuto di una funzione che si passa al filtro. Questa funzione che passi al filtro ottiene l'obiettivo
perché questa funzione viene eseguita su ogni elemento dell'array che stai chiamando, quindi in questo caso, viene
eseguita su
ogni obiettivo che abbiamo nell'array degli obiettivi corrente e quindi otteniamo che l'obiettivo è attualmente in
esecuzione e ora possiamo restituire true se vogliamo mantenere quell'elemento o false se vogliamo rilasciarlo e
vogliamo restituire true se l'ID dell'obiettivo che stiamo guardando non è uguale all'ID obiettivo che abbiamo " stiamo ottenendo come
argomento perché è l'ID dell'obiettivo che vogliamo eliminare, quindi vogliamo mantenere solo
gli oggetti in cui questi ID non corrispondono perché se corrispondono, allora è l'elemento
che vogliamo eliminare
e quindi ovviamente voglio rilasciarlo dal nostro nuovo array.
Quindi questa è la logica del filtro per sbarazzarsi di un oggetto e restituirlo qui come il nostro nuovo stato che
è alla fine impostato in seguito.
Ora possiamo connettere il gestore di rimozione a onDelete e ora qui abbiamo due opzioni o più opzioni per farlo, possiamo semplicemente puntare su aggiungi gestore
di obiettivi
di rimozione, ma tieni presente che devi passare l'ID. Quindi l'opzione numero uno è che
inoltri l'ID qui all'oggetto obiettivo semplicemente indicando ItemData. articolo. id perché proprio come ogni articolo
ha un valore, ogni articolo qui ha anche un ID perché stiamo aggiungendo un ID quando stiamo aggiungendo
un articolo lassù e ora da quando passiamo l'ID all'elemento obiettivo e passiamo il
prop onDelete all'elemento obiettivo, all'interno dell'elemento obiettivo, qui dove chiamiamo onDelete alla fine o dove
inoltriamo il gestore onDelete punta a onPress, potremmo anche associarlo per impostare
un argomento predefinito quando questo viene chiamato e l'argomento predefinito qui sarebbe ID props, quindi
anche l'ID che stiamo ottenendo in modo che questo ID venga passato a Elimina
quando viene chiamato su una macchina da stampa. Questa è l'opzione numero uno ed è l'opzione che userò ma
anche per mostrarti l'altra opzione, l'altra opzione sarebbe quella di non passare l'ID all'elemento obiettivo ma invece qui su
Elimina, sai alla fine il gestore di rimozione obiettivo verrà eseguito e quindi qui è possibile aggiungere bind
this e quindi puntare a itemData. articolo. id, che funzionerebbe anche.
Ora lo ripristinerò tuttavia e seguirò l'approccio in cui tutte le informazioni sono all'interno dell'elemento
obiettivo e colleghiamo la nostra funzione con l'ID all'interno dell'elemento obiettivo. Ora, con quello, dovremmo avere una configurazione in cui tutti
noi possiamo eliminare i nostri obiettivi.
Quindi aspettiamo che questo si ricarichi e proviamolo forse qui su iOS, vogliamo imparare React Native e ora voglio usare un
nome diverso, in modo da poter vedere se abbiamo eliminato quello giusto.
Vogliamo imparare tutto, forse vogliamo anche diventare davvero bravi in React Native e qualunque cosa sia e ora farò davvero clic
su impara tutto per eliminarlo e sembra funzionare. Qui, impara React Native
e
ora l'ultimo. Lo eliminerò e anche senza errori
qui, quindi questo sembra funzionare bene e con ciò, stiamo eliminando gli elementi con l'aiuto di opacità tangibile e
tangibile in questo caso che ti aiuta a registrare eventi, come onPress, su qualsiasi componente o su tutti i componenti necessari.