1 00:00:02,600 --> 00:00:08,300 Ora per eliminare l'elemento che è stato premuto, aggiungerò una nuova funzione qui nel mio componente dell'app, 2 00:00:08,480 --> 00:00:10,790 quindi una nuova funzione che memorizzo in 3 00:00:11,150 --> 00:00:13,750 questa costante e lo chiamerò rimuovi gestore degli 4 00:00:13,970 --> 00:00:20,180 obiettivi e qui mi aspetto di ottenere l'ID obiettivo come input perché questo ID ci consente di identificare l'elemento 5 00:00:20,180 --> 00:00:22,280 che vogliamo rimuovere, in alternativa, potremmo 6 00:00:22,280 --> 00:00:26,620 anche ottenere l'indice nell'array e quindi rimuovere l'oggetto per indice ma penso che 7 00:00:26,630 --> 00:00:32,450 l'ID sia ancora migliore perché abbiamo un ID chiaramente abbinato ad ogni elemento, perché non dovremmo usarlo per 8 00:00:32,450 --> 00:00:34,480 eliminarlo e ora qui 9 00:00:34,750 --> 00:00:40,220 possiamo impostare gli obiettivi del nostro corso perché ovviamente voglio aggiornare gli obiettivi del mio corso e 10 00:00:40,220 --> 00:00:45,070 di nuovo, stiamo facendo un aggiornamento basato sul nostro attuali obiettivi del corso, quindi userò 11 00:00:45,080 --> 00:00:47,190 quella funzione qui, passo una funzione, 12 00:00:47,240 --> 00:00:50,400 una funzione anonima per impostare gli obiettivi del corso. 13 00:00:50,510 --> 00:00:52,610 Lì ottengo la mia istantanea di stato 14 00:00:52,610 --> 00:00:57,890 attuale, i miei obiettivi di corso attuali e nel corpo della funzione, devo restituire gli obiettivi di corso aggiornati. 15 00:00:57,890 --> 00:01:04,490 Ora, nel caso ti stia chiedendo perché non ho parentesi graffe qui, qui uso la sintassi più breve in cui ho solo 16 00:01:04,490 --> 00:01:06,860 un'espressione che voglio restituire, quindi ometto il corpo 17 00:01:06,860 --> 00:01:10,500 della funzione e l'istruzione return. Qui avrò una frase 18 00:01:10,730 --> 00:01:15,380 un po 'più lunga, quindi voglio avere il corpo della funzione qui per leggibilità 19 00:01:15,860 --> 00:01:22,430 perché qui, restituirò il filtro degli obiettivi attuali perché il filtro è un metodo incorporato incorporato in Javascript che 20 00:01:22,730 --> 00:01:28,940 ci consente per restituire un nuovo array, il filtro produce sempre un nuovo array basato sul vecchio array 21 00:01:28,940 --> 00:01:32,800 su cui lo si chiama filtrato in base a determinati criteri. 22 00:01:32,840 --> 00:01:39,260 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 23 00:01:39,260 --> 00:01:45,540 perché questa funzione viene eseguita su ogni elemento dell'array che stai chiamando, quindi in questo caso, viene 24 00:01:45,540 --> 00:01:46,490 eseguita su 25 00:01:46,490 --> 00:01:52,220 ogni obiettivo che abbiamo nell'array degli obiettivi corrente e quindi otteniamo che l'obiettivo è attualmente in 26 00:01:52,220 --> 00:01:57,890 esecuzione e ora possiamo restituire true se vogliamo mantenere quell'elemento o false se vogliamo rilasciarlo e 27 00:01:57,890 --> 00:02:05,150 vogliamo restituire true se l'ID dell'obiettivo che stiamo guardando non è uguale all'ID obiettivo che abbiamo " stiamo ottenendo come 28 00:02:05,250 --> 00:02:09,560 argomento perché è l'ID dell'obiettivo che vogliamo eliminare, quindi vogliamo mantenere solo 29 00:02:09,710 --> 00:02:14,750 gli oggetti in cui questi ID non corrispondono perché se corrispondono, allora è l'elemento 30 00:02:14,750 --> 00:02:16,000 che vogliamo eliminare 31 00:02:16,070 --> 00:02:19,580 e quindi ovviamente voglio rilasciarlo dal nostro nuovo array. 32 00:02:20,120 --> 00:02:25,820 Quindi questa è la logica del filtro per sbarazzarsi di un oggetto e restituirlo qui come il nostro nuovo stato che 33 00:02:25,820 --> 00:02:27,620 è alla fine impostato in seguito. 34 00:02:27,620 --> 00:02:35,810 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 35 00:02:35,810 --> 00:02:36,760 di obiettivi 36 00:02:36,830 --> 00:02:42,200 di rimozione, ma tieni presente che devi passare l'ID. Quindi l'opzione numero uno è che 37 00:02:42,200 --> 00:02:50,710 inoltri l'ID qui all'oggetto obiettivo semplicemente indicando ItemData. articolo. id perché proprio come ogni articolo 38 00:02:50,770 --> 00:02:57,760 ha un valore, ogni articolo qui ha anche un ID perché stiamo aggiungendo un ID quando stiamo aggiungendo 39 00:02:57,760 --> 00:03:03,260 un articolo lassù e ora da quando passiamo l'ID all'elemento obiettivo e passiamo il 40 00:03:03,260 --> 00:03:09,280 prop onDelete all'elemento obiettivo, all'interno dell'elemento obiettivo, qui dove chiamiamo onDelete alla fine o dove 41 00:03:09,280 --> 00:03:14,320 inoltriamo il gestore onDelete punta a onPress, potremmo anche associarlo per impostare 42 00:03:14,320 --> 00:03:20,320 un argomento predefinito quando questo viene chiamato e l'argomento predefinito qui sarebbe ID props, quindi 43 00:03:20,320 --> 00:03:25,900 anche l'ID che stiamo ottenendo in modo che questo ID venga passato a Elimina 44 00:03:25,900 --> 00:03:32,800 quando viene chiamato su una macchina da stampa. Questa è l'opzione numero uno ed è l'opzione che userò ma 45 00:03:32,800 --> 00:03:38,530 anche per mostrarti l'altra opzione, l'altra opzione sarebbe quella di non passare l'ID all'elemento obiettivo ma invece qui su 46 00:03:38,530 --> 00:03:44,050 Elimina, sai alla fine il gestore di rimozione obiettivo verrà eseguito e quindi qui è possibile aggiungere bind 47 00:03:44,080 --> 00:03:50,590 this e quindi puntare a itemData. articolo. id, che funzionerebbe anche. 48 00:03:51,040 --> 00:03:56,280 Ora lo ripristinerò tuttavia e seguirò l'approccio in cui tutte le informazioni sono all'interno dell'elemento 49 00:03:56,290 --> 00:04:04,030 obiettivo e colleghiamo la nostra funzione con l'ID all'interno dell'elemento obiettivo. Ora, con quello, dovremmo avere una configurazione in cui tutti 50 00:04:04,030 --> 00:04:06,880 noi possiamo eliminare i nostri obiettivi. 51 00:04:06,910 --> 00:04:13,780 Quindi aspettiamo che questo si ricarichi e proviamolo forse qui su iOS, vogliamo imparare React Native e ora voglio usare un 52 00:04:13,840 --> 00:04:17,830 nome diverso, in modo da poter vedere se abbiamo eliminato quello giusto. 53 00:04:17,830 --> 00:04:26,520 Vogliamo imparare tutto, forse vogliamo anche diventare davvero bravi in React Native e qualunque cosa sia e ora farò davvero clic 54 00:04:26,980 --> 00:04:33,790 su impara tutto per eliminarlo e sembra funzionare. Qui, impara React Native 55 00:04:34,060 --> 00:04:35,710 e 56 00:04:35,710 --> 00:04:40,720 ora l'ultimo. Lo eliminerò e anche senza errori 57 00:04:40,750 --> 00:04:47,440 qui, quindi questo sembra funzionare bene e con ciò, stiamo eliminando gli elementi con l'aiuto di opacità tangibile e 58 00:04:47,440 --> 00:04:54,700 tangibile in questo caso che ti aiuta a registrare eventi, come onPress, su qualsiasi componente o su tutti i componenti necessari.