[S9L1] Redux, Actions, Reduce Flashcards

1
Q

In welche Richtung fließen alle Daten in einer Redux App?

A
  • Nur in eine Richtung durch die Applikation

- Im Kreislauf

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was ist Redux?

A
  • Eine vorraussagbare State Mangement Library

- Mehr eine Architektur für DataFlow als Library

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Wie fließen die Daten in einer Redux Applikation?

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was sind die 3 großen Prinzipien von Redux?

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wie erstellt man einen Store in Redux?

A

import { createStore } from ‘redux’;

const store = createStore();

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Wie erstellt man einen Mock Reducer?

A

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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Wie wrapped man die App in einen Provider?

A

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"));
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wie verbindet man eine Component zu einem Redux Store?

A
  • 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);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was ist mapStateToProps?

A
  • 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);
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was sind Actions in Redux?

A
  • Sind Pakete von Informationen die ein UI Event beschreiben
  • Sind Objekte
  • Werden Reducern übergeben und sagen diesen wie der State Tree upgedated werden soll
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was ist ein Action creator?

A
  • 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
}
};
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Warum gibt es Action Types?

A

-Um Bugs durch Missspelling zu verhindern

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was ist das Action Object und wo ist es?

A

-Das Object innerhalb der Action Creator Function

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wie benutzt man Action Creators in Components?

A
  • 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);
};

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was sind Reducers?

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Wie nutzt man Reducer?

A
  • Eine Reducer Function erstellen und den state mit default Value des initialState und der dispatched Action
  • Das Switch Statement und den check für Action Type hinzufügen
  • Den Case für jeden Action Type machen
  • Immutable Prinzipien, Update und return des State Trees
  • Return state als default unberührt

import { ADD_MOVIE } from “../actions/index”;

const initialState ={
...
};
export default (state = initialState, action) => {
console.log(action);
switch (action.type) {
case ADD_MOVIE:
return {
...state,
movies: [...state.movies, action.payload]
};
default: 
return state;
}
};
17
Q

Was ist das Grundprinzip warum Redux verwendet wird?

A
  • Zum auslagern von States in einen gemeinsamen Redux Store.

- Nur noch Reducer können Redux Stores updaten

18
Q

Warum ist Redux predictable?

A

-Weil der Data Flow hervorsagbar ist und die States im Redux Store nur durch den Reducer verändert werden können

19
Q

Wie ist der Redux Ablauf?

A
  • States werden im Redux Store gehalten
  • Components connected
  • Components melden Actions an Action Creator Functions
  • Action Creator Functions melden an Reducer
  • Reducer verändert den State des Redux Store
  • Neue State Trees werden an Components geliefert und UI Views neugerendert.
20
Q

Wie kann man Reducer erklären?

A
  • Sind Functions, welches zwei Objecte annhemen (currentState, action) und ein einzelnes Object zurücklieferen.
  • Das Returned Object ist ein einzelnes State Object
21
Q

Wie reduziert ein Reducer zwei Objecte zu einem state?

A

-Durch einen Switch
-Im Grund durch eine Reihe von else if statements
-

22
Q

Was ist ein Switch Statement?

A
-Eine Alternative zu If Else
-
switch (action.tyoe) {
case "UPDATE_TITLE":
return stateOne;
case "DELETE_SMURFS":
return stateTwo
} default: 
return currentState
}
if (action.type === "UPDATE_TITLE" {
return stateOne
} else if (action.type === "DELETE_SMURFS") {
return stateTwo
} else { 
return currentState
};
23
Q

Was ist ein einfaches Beispiel für einen Reducer?

A
const initialState = {
name: "dustin",
faveFood: "Pizza",
vehicles: [
{ model: "Tacoma", make: "Toyota" },
{ model: "Traverse", make: "Chevy" }
],
}

const action = { type: “CHANGE_FOOD”, payload: “Pasta”};

const addVehicleAction = {

type: “ADD_VEHICLE”,
payload: { model: “Model 3”, make: “Tesla” }

const reducer = (state, action) => {
switch(action.type) {
case: "CHANGE_FOOD":
return {
...state,
 faveFood: action.payload
}
case: "ADD_VEHICLE":
return {
...state,
 vehicles: [..state.vehicles, action.payload]
}
default: 
return: state;
}
}
const newState= reducer(initialState, action);
console.log(newState);

const newerState = reducer(newState, addVehicleAction);

console.log(newerState);

24
Q

Wieso rerendern die Components bei neuen Redux Store States?

A
  • Weil die Components nach dem connecten ein neues Props bekommen
  • Components rerendern immer bei neuen this.state oder bei neuen Props
25
Q

Was ist connect()?

A
  • Eine Higher Order Component (HOC), welches einer Component neue Funktionalitäten verleiht.
  • Es nimmt alle properties aus mapStateToProps und fügt diesen der Component als Props hinzu
26
Q

Welche Daten werde mit Redux als Store üblicherweise gehalten?

A
  • Nur Data das von APIs kommt
  • Oder Daten die in mehreren Components Trees benötigt werden
  • Alle anderen können in Components bleiben
27
Q

Was ist die mapStateToProps Function?

A

-Ein HOC, welcher eine component akzeptiert und eine Componente mit Zugriff auf States und Actions returned.