Vogliamo inviare questa azione sulla schermata dei filtri ovviamente perché è lì che
impostiamo tutti questi filtri.
In questo momento, li gestiamo qui nello stato interno e questo rimarrà in questo modo perché abbiamo sicuramente
bisogno dei nostri filtri lì,
ma ora ovviamente, voglio inviare un'azione quando viene premuto il pulsante Salva.
Per fortuna, ho già la connessione all'intestazione impostata con use use e set params, quindi
tutto ciò che dobbiamo fare è sostituire il log della console qui con l'invio.
Ora, naturalmente, per usare l'invio, dobbiamo prima di tutto importare l'uso dell'aggancio di invio qui da React Redux in
questo modo e ora possiamo
usare quell'aggancio qui per accedere alla funzione di invio, quindi l'invio const
equivale a usare l'invio eseguito come funzione e ora possiamo chiamare
l'invio qui per inviare un'azione e quindi, tra l'altro, dobbiamo anche aggiungere l'invio
come dipendenza, ma React Redux farà in modo che questo non
cambi mai,
quindi questo non attiverà mai un nuovo rendering,
tuttavia, dobbiamo aggiungerlo.
Quindi questo è il dispaccio, ora importante, dobbiamo anche importare il mio creatore di azioni dai pasti delle azioni del negozio e ovviamente sto parlando del creatore di azioni set filtri perché devo chiamarlo
qui per creare
un'azione che passo per spedire lì e imposta i filtri una volta che ho applicato l'oggetto dei filtri
che inoltro e lì ho senza glutine, senza lattosio, vegano e questo dovrebbe
essere solo vegetariano, importante, perché le chiavi che hai impostato qui devono essere le chiavi che
stai cercando nel tuo riduttore , altrimenti non funzionerà, importante.
Quindi assicurati davvero che
siano uguali, altrimenti questa logica non funzionerà.
Quindi ora lo inviamo ogni volta che si preme il pulsante Salva e questo si spera
che dovrebbe aggiustare i nostri pasti filtrati e che dovrebbe quindi riflettersi sulla schermata dei pasti di categoria perché lì stiamo
recuperando i pasti filtrati. Proviamo, salviamo questo
e
ad esempio questo hamburger, probabilmente non vegano.
Quindi andiamo ai filtri, accendiamo vegan, salviamo questo e ricevo un errore, non riesco a trovare azioni variabili, lanciate dal riduttore
dei
pasti, quindi diamo un'occhiata a quello. Sì, non sono azioni, ovviamente è
azione, questo
è il nome dell'argomento.
Quindi dovrebbe essere azione,
piccolo errore, solo un
errore
di battitura, proviamolo.
Torna ai filtri,
attiva vegan, salva questo e ora vai ai pasti, agli hamburger e non li vedo qui,
il che è positivo perché significa che è filtrato. I miei spaghetti al sugo di pomodoro,
è ancora lì perché ovviamente quello è Vegan, almeno questo è senza formaggio.
Quindi è lì, in tedesco la cotoletta è sparita, semplice e
veloce, l'insalata è lì che ha un senso.
Proviamo anche un altro filtro, senza
glutine, ora
gli spaghetti dovrebbero essere spariti di
sicuro, quindi diamo un'occhiata,
sì, se ne sono andati.
L'insalata è ancora lì,
gli spaghetti
sono spariti, quindi questa logica sembra funzionare. Ora importante, se disabilito senza glutine
e quindi vedo di nuovo i miei spaghetti, se li aggiungo come preferiti e quindi aggiungo di nuovo questo filtro,
ovviamente sotto i pasti, se ne sono andati, sotto i preferiti li vedo perché questa è la logica abbiamo impostato che i preferiti non
prendono i dati dai nostri pasti filtrati, ma si preoccupano solo che siano preferiti
o meno.
Ovviamente potresti cambiare questa logica ma qui la logica è quella che è e solo
i pasti nelle categorie qui vengono filtrati in base ai filtri impostati qui.
Ora sarebbe bello avere un piccolo messaggio di fallback qui se non abbiamo dati a causa
dei nostri filtri
e quindi nella schermata dei pasti della categoria, voglio anche controllare qui se la durata dei pasti visualizzata è zero, il che significa che non ho
pasti da visualizzare e quindi voglio restituire una vista qui con il mio testo predefinito lì in realtà e ciò significa che
dobbiamo importare entrambi, dobbiamo importare una vista e avremo anche bisogno del foglio di stile da React Native e importare il componente
di testo predefinito da componenti predefiniti testo e quindi aggiungere uno stile qui, stili.
il contenuto e il testo predefinito che visualizziamo potrebbero non essere i pasti
trovati, forse controllare i filtri, solo
un suggerimento che forse i filtri stanno disabilitando le ricette che dovresti vedere qui.
Ora aggiungiamo semplicemente che gli stili sono costanti qui dove creiamo un nuovo foglio di stile e
lì, voglio impostare quella chiave di contenuto dove uso Flex One e quindi centrare nuovamente il contenuto
in orizzontale e verticale con l'aiuto di queste proprietà di Flexbox, come quella.
Se ora proviamo questo e forse lo testiamo su Android, solo
per mescolare le cose anche se è un po 'più lento, posso andare lì ai miei filtri, impostare senza glutine, tornare ai miei pasti, italiano quindi, questo
non è lì così ricevo questo messaggio. D'altra parte veloce e facile, lì ho
un pasto e quindi non ricevo questo messaggio e quindi
questo non sembra troppo male e ovviamente proviamo anche a disabilitare di nuovo questo filtro e
tornare indietro, ecco gli spaghetti . Quindi ora funziona tutto ed è così che possiamo gestire il nostro stato con Redux.