[S9L1] Redux, Actions, Reduce Flashcards
In welche Richtung fließen alle Daten in einer Redux App?
- Nur in eine Richtung durch die Applikation
- Im Kreislauf
Was ist Redux?
- Eine vorraussagbare State Mangement Library
- Mehr eine Architektur für DataFlow als Library
Wie fließen die Daten in einer Redux Applikation?
- StateTree hält die Daten der Applikation
- Der StateTree gibt die Daten in den View(UI), Daten werden hier via Props an andere Components heruntergereicht
- Wenn ein Event auftritt wird die Action Suite genutzt (Action Type, Action Creator, Action)
- Der Reducer erhält die Action und erstellt einen neuen State Tree und der Kreislauf beginnt erneut
Was sind die 3 großen Prinzipien von Redux?
- Der State/Data der App ist in einem einzelnen State Object gespeichert
- Der State is Read-Only(Immutable), man kann States nur über die Erstellung eines Action Objects verändern, welche sagen was aufgetreten ist
- Veränderungen werden nur mit puren Funktionen gemacht, welche den vorherigen State und die Action akzeptieren und einen neuen State herausgeben
Wie erstellt man einen Store in Redux?
import { createStore } from ‘redux’;
const store = createStore();
Wie erstellt man einen Mock Reducer?
import { createStore } from ‘redux’;
const store = createStore(reducer);
//Der Reducer ist eine Funktion die ein Object returned //Das returnte Object wird den State Tree repräsentieren
Wie wrapped man die App in einen Provider?
import { createStore } from ‘redux’;
import { Provider } from ‘react-redix’:
function reducer() { return { title: "Hello world! Iam in the Redux Store" }; } const store = createStore(reducer);
ReactDOM .render( Provider store={store}/> App /> /Provider>, document.getElementbyId("root"));
Wie verbindet man eine Component zu einem Redux Store?
- Mit der connect() function
- Durch das Exportierten durch das Callen der connect Function
import { connect } from “rect-redux”;
const MovieList = props => {
…
];
export default connect(null, {})(MovieList);
Was ist mapStateToProps?
- Nimmt Objekte aus dem State Tree und mappes sie zu den Props
- Sagt connect welchen Teil der Daten an die Components gepassed werden sollen
- Nimmt state als ein Argument
-Ist dafür da um Teile des State Trees zu den Props der Component zu mappen
const mapStateToProps = state => { return { movies: state.movies, user: strate.user }; }; export default connect(mapStateToProps, {})MovieList);
Was sind Actions in Redux?
- Sind Pakete von Informationen die ein UI Event beschreiben
- Sind Objekte
- Werden Reducern übergeben und sagen diesen wie der State Tree upgedated werden soll
Was ist ein Action creator?
- Eine Function die eine Action erstellt, indem sie ein Action Object returned
- Action Type wird genutzt um Bugs zu verhindern und Type der Action zu sein
- Wenn die Action Creator Function gecalled wird wird der Reducer unter der Haube von Redux selbst darüber informiert
export const ADD_MOVIE = “ADD_MOVIE”;
export const addMovie = () => movieTitle => { return { type: ADD_MOVIE, payload: payload } };
Warum gibt es Action Types?
-Um Bugs durch Missspelling zu verhindern
Was ist das Action Object und wo ist es?
-Das Object innerhalb der Action Creator Function
Wie benutzt man Action Creators in Components?
- Importieren von Action Creator Function
- Zu Props hinzufügen
- Function invoken und den state hinzufügen
import { addMovie } from “../actions”;
addMovie = e => {
e.preventDefault();
this-props.addMovie(this. state.newMovie);
};
Was sind Reducers?
- Pure Functions
- Akzeptieren als Argumente den state tree und eine Action
- Nutzen switch case um den Action Type zu checken und erstellen einen updateten State Tree basierend auf dem Action Type und der Action Payload
- Jeder Case des Switch Statements gibt einen neuen, geupdateten State Tree zurück,.welcher das UI mit neuen Daten rerendert