Obwohl keine offizielle Lösung des React State Managements vorliegt, integrieren sich mehrere Bibliotheken nahtlos in sein Paradigma. Dieser Artikel zeigt, dass eine einfache Anwendung unter Verwendung von React mit zwei solchen Bibliotheken erstellt wird: Redux und Untypable.js.
Key Takeaways:
redux und unveränderlich.js verbessern die Funktionen von React für größere Anwendungen durch Bereitstellung eines zentralen Zustandsbehälters und unveränderlichen Datenstrukturen.
Redux, inspiriert von Fluss und ELM, ist eine leichte Bibliothek, die als zentrales Repository für den Anwendungszustand fungiert. Es regelt staatliche Änderungen anhand der folgenden Grundsätze:
Ein einzelner Speicher enthält den gesamten Anwendungszustand.
-Status zurückgegeben wird. Reagieren Sie die Komponenten auf, die Aktionen in den Speicher versehen, die anschließend die Neuanschläge der Komponenten nach Bedarf auslösen.
unveränderliche Js: Unveränderliche DatenstrukturenDa Redux eine direkte Zustandsmutation verhindert, erzwingt die Verwendung unveränderlicher Datenstrukturen diese Einschränkung. Unveränderliche Js bietet effiziente unveränderliche Sammlungen mit veränderlichen Schnittstellen, die sich von Clojure und Scala inspirieren lassen.
Demo: Eine einfache Todo -Liste
In diesem Beispiel wird React, Redux und Unwahrscheinlichjs verwendet, um eine TODO -Liste zu erstellen, die das Hinzufügen und Abschluss von Aufgaben ermöglicht. Der vollständige Code ist auf Github verfügbar [Link zu Github Repo würde hier gehen].
setup
run reagieren Komponenten Wir erstellen zwei Komponenten: Redux und unveränderliche Integration Übersetzen Sie die Dummy -Daten in unveränderliche Js -Sammlungen: (Code zum Konvertieren von Dummydaten in unveränderliche Js würde hier eingefügt). Passen Sie die Komponenten an, um unveränderliche Methoden zu verwenden (z. B. Aktionen Action -Ersteller definieren zum Hinzufügen und Umschalten von Todos: (Code for Action -Ersteller würde hier eingefügt). Reduzierer Erstellen Sie die Reduzierfunktion, um Aktionen zu verarbeiten und den Status zu aktualisieren: (Code für die Reduzierfunktion würde hier eingefügt). Verbindungskomponenten und speichern Erstellen Sie einen Speicher und verbinden Sie es mit Schlussfolgerung
FAQs bei der Verwendung von Redux mit React (dieser Abschnitt würde hier hinzugefügt, neu für eine bessere Lesbarkeit und potenziell verkürzt/für die Kürze zusammengefasst)
package.json
mit npm init
. npm install --save react react-dom redux react-redux immutable
npm install --save-dev webpack babel-core babel-loader babel-preset-es2015 babel-preset-react
webpack.config.js
: module.exports = {
entry: './src/app.js',
output: {
path: __dirname,
filename: 'bundle.js'
},
module: {
loaders: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel-loader',
query: { presets: ['es2015', 'react'] }
}
]
}
};
package.json
: "scripts": {
"build": "webpack --debug"
}
npm run build
zu kompilieren. <todo></todo>
und <todolist></todolist>
. (Der Komponentencode würde hier eingefügt, ähnlich wie bei der ursprünglichen Eingabe, jedoch möglicherweise mit geringfügigen Anpassungen für Klarheit und Selbstverständlichkeit). todo.get('id')
anstelle von todo.id
). react-redux
mit den React -Komponenten an die React -Komponenten.
Das obige ist der detaillierte Inhalt vonSo erstellen Sie eine Todo -App mit React, Redux und Immutable.js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!