Redux - Aktionen
Aktionen sind die einzige Informationsquelle für das Geschäft gemäß der offiziellen Redux-Dokumentation. Es enthält eine Vielzahl von Informationen aus Ihrer Anwendung zum Speichern.
Wie bereits erwähnt, handelt es sich bei Aktionen um einfache JavaScript-Objekte, die ein Typattribut haben müssen, um den Typ der ausgeführten Aktion anzugeben. Es sagt uns, was passiert war. Typen sollten in Ihrer Anwendung wie unten angegeben als Zeichenfolgenkonstanten definiert werden.
const ITEMS_REQUEST = 'ITEMS_REQUEST';
Abgesehen von diesem Typattribut liegt die Struktur eines Aktionsobjekts vollständig beim Entwickler. Es wird empfohlen, Ihr Aktionsobjekt so leicht wie möglich zu halten und nur die erforderlichen Informationen weiterzugeben.
Um Änderungen im Geschäft zu bewirken, müssen Sie zuerst eine Aktion mit der Funktion store.dispatch () auslösen. Das Aktionsobjekt lautet wie folgt:
{ type: GET_ORDER_STATUS , payload: {orderId,userId } }
{ type: GET_WISHLIST_ITEMS, payload: userId }
Aktionen Ersteller
Aktionsersteller sind die Funktionen, die den Erstellungsprozess eines Aktionsobjekts kapseln. Diese Funktionen geben einfach ein einfaches Js-Objekt zurück, das eine Aktion ist. Es fördert das Schreiben von sauberem Code und trägt zur Wiederverwendbarkeit bei.
Informieren Sie sich über den Aktionsersteller, mit dem Sie eine Aktion auslösen können. ‘ITEMS_REQUEST’Diese Anforderungen für die Produktartikel listen Daten vom Server auf. Inzwischen ist dieisLoading Der Status wird im Reduzierer im Aktionstyp 'ITEMS_REQUEST' auf true gesetzt, um anzuzeigen, dass Elemente geladen werden und keine Daten vom Server empfangen werden.
Anfangs war der isLoading-Status in der Datei falsch initialStateObjekt unter der Annahme, dass nichts geladen wird. Wenn Daten im Browser empfangen werden, wird der Status isLoading im Aktionstyp 'ITEMS_REQUEST_SUCCESS' im entsprechenden Reduzierer als false zurückgegeben. Dieser Status kann als Requisite in Reaktionskomponenten verwendet werden, um den Lader / die Nachricht auf Ihrer Seite anzuzeigen, während die Datenanforderung aktiviert ist. Der Ersteller der Aktion lautet wie folgt:
const ITEMS_REQUEST = ‘ITEMS_REQUEST’ ;
const ITEMS_REQUEST_SUCCESS = ‘ITEMS_REQUEST_SUCCESS’ ;
export function itemsRequest(bool,startIndex,endIndex) {
let payload = {
isLoading: bool,
startIndex,
endIndex
}
return {
type: ITEMS_REQUEST,
payload
}
}
export function itemsRequestSuccess(bool) {
return {
type: ITEMS_REQUEST_SUCCESS,
isLoading: bool,
}
}
Um eine Versandfunktion aufzurufen, müssen Sie eine Aktion als Argument an die Versandfunktion übergeben.
dispatch(itemsRequest(true,1, 20));
dispatch(itemsRequestSuccess(false));
Sie können eine Aktion direkt mit store.dispatch () auslösen. Es ist jedoch wahrscheinlicher, dass Sie mit der aufgerufenen React-Redux-Hilfsmethode darauf zugreifenconnect(). Sie können auch verwendenbindActionCreators() Methode zum Binden vieler Aktionsersteller mit Versandfunktion.