Ich habe dieses Dokument vorbereitet, um Redux zu verstehen. Hoffe das klärt deine Zweifel.
-------------------------- TUTORIAL REDUXEN ----------------------
AKTIONEN - Aktionen sind Nutzdaten mit Informationen, die Daten aus Ihrer Anwendung an das Geschäft senden. Sie sind die einzige Informationsquelle aus dem Geschäft. Sie können sie nur mit store.dispatch () senden.
Example-
const ADD_TODO = 'ADD_TODO'
{
type:ADD_TODO,
text: 'Build my first redux app'
}
Aktionen sind einfache Javascript-Objekte. Die Aktion muss eine Eigenschaft [Typ] haben, die den Typ der ausgeführten Aktion angibt. Der Typ sollte als Zeichenfolgenkonstante definiert werden.
AKTIONSERSTELLER ----- ---------------- ---- Aktionsersteller sind genau die Funktion, die Aktionen erstellt. Es ist einfach, die Begriffe Aktion und Aktionsersteller zusammenzuführen. Bei der Redux-Aktion gibt der Ersteller eine Aktion zurück.
function addToDo(text) {
return {
type: ADD_TODO,
text
}
}
Um den Versand zu initialisieren, übergeben Sie das Ergebnis an die Funktion dispatch ().
- Versand (addToDo (Text));
- Versand (completeToDo (Index))
Alternativ können Sie einen gebundenen Aktionsersteller erstellen, der automatisch versendet.
cosnt boundAddTodO = text => dispatch(addToDo(text));
Jetzt können Sie es direkt nennen
boundaddTodO(text);
Auf die Funktion dispatch () kann direkt von store.dispatch () aus zugegriffen werden. Wir greifen jedoch mit einer helper connect () -Methode darauf zu.
Actions.js .....................
Aktionen...........
exports cosnt ADD_TODO = 'ADD_TODO';
exports cosnt TOGGLE_TODO = 'TOGGLE_TODO'
Aktionen Ersteller
Exportfunktion addToDO (Text) {return {Typ: ADD_TODO, Text}}
......................... REDUZIERER ........................ ..........
Reduzierer geben an, wie sich der Anwendungsstatus als Reaktion auf an den Speicher gesendete Aktionen ändert.
Gestaltung der Staatsform
In Redux wird der gesamte Anwendungsstatus in einem einzelnen Objekt gespeichert. Sie müssen einige Daten sowie einen Status speichern.
{sichtbarkeitsfilter: 'SHOW_ALL', todos: [{text: 'Redux in Betracht ziehen', abgeschlossen: true}, {text: 'Den gesamten Status in einem einzigen Baum beibehalten'}]}
Behandeln von Aktionen ---------------- Die Reduzierungen sind die reinen Funktionen, die den vorherigen Status und die vorherige Aktion übernehmen und einen neuen Status zurückgeben.
(previousState, action) => newState
Wir beginnen mit der Angabe des Ausgangszustands. Redux wird unsere Reduzierer zum ersten Mal mit einem undefinierten Status aufrufen. Dies ist unsere Chance, den Status unserer App zurückzugeben.
import { visiblilityFilters } from './actions';
const initialState = {
visibilityFilter: VisibilityFilters.SHOW_ALL,
todo: []
}
function todoApp(state, action){
if(typeof state == 'undefined'){
return initialState;
}
return state;
}
Sie können dasselbe mit ES6 tun, um mit dem JS umzugehen
function todoApp(state = initialState, action) {
switch (action.type) {
case SET_VISIBILITY_FILTER:
return Object.assign({}, state, {
visibilityFilter: action.filter
})
default:
return state
}
}
................................. GESCHÄFT................ ....................
Der Laden ist ein Objekt, das sie zusammenbringt. Der Laden hat folgende Verantwortung
- Anwendungsstatus halten
- Erlaube den Zugriff auf den Status über getState ()
- Status über Dispatch aktualisieren lassen ()
- Registrieren Sie Listenereres über Suscriber (Listener)
Hinweis. Verwenden Sie kombinierenReduzierer (), um mehrere Reduzierer zu einem zu kombinieren.
const store = createStore (todoapp); // die todoapp sind die reduzierer