[S8L1] React Router 1 Flashcards

1
Q

Was ist Routing?

A
  • Der Weg mit dem durch das Web navigiert wird
  • Eine URL im Web Browser schickt die Website einen Request an Daten die irgendwo anders liegen
  • Diese Daten werden zu unserem Browser geschickt und der Browser rendert die Website
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was ist Server Side Routing (SSR)?

A
  • Naivigation auf Website
  • Website requests data für webstie
  • Server returned ein Dokument/HTML/Template zum Browser und Browser kann die Seite rendern
  • Alles macht der Server! (Kompilieren des HTML)
  • Bei jeder Navigation wird eine frische Webseite vom Browser geladen, zum Browser gesendet und der Browser refreshed die Website
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was ist Client Side Routing (CSR) ?

A
  • Javascript mit einer Client App (Web, Desktop, Mobile) managed diie Daten für die Applikation in seinem Memory
  • Daher hat der Browser in seinem Memory alles um andere URLs zu laden
  • Wenn zusätzliche Daten benötigt werden, wird ein API request und eine JSON wird zurückgegeben, aber keine ganze HTML Seite
  • Da der Browser nicht mehr kompiliert, benötigt man keine Refreshes der Website um zwischen Routes zu wechseln!
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Benutzt React Client Side oder Server Side Routing?

A

-Client Side Routing

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

Was sind die Vorteile von Server Side Routing? (SSR)

A
  • Routes Requesten nur die Daten, welche sie benötigen und nicht mehr
  • SEO Vorteile, durch lange Tradition dieser Art. Will man vorne in Google sein braucht man SSR.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was sind die Nachteile von Server Side Routing? (SSR)

A
  • Jeder Request führt zu einem Seiten Refresh, daher wird unnötige Daten requested. Header und Footer werden oft tausend Mal neugeladen, obwohl sie sich nie ändern.
  • Das Rendern der Website kann ein wenig dauern, bei großen Dateien oder langsamer Verbindung.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was sind die Vorteile von Client Side Routing?

A
  • Es lädt nicht die ganze Seite neu beim Refreshen
  • Weniger Daten werden verarbeitet, daher ist das switchen von Routes schneller
  • Smooth transitions und animations zwischen Routes sind einfacher
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was sind die Nachteile von Client Side Routing?

A
  • Beim ersten Request muss die ganze Website geladen werden, daher ist das erste Laden etwas langsamer
  • Außerdem werden beim ersten Laden auch Views geladen, die den Nutzer evtl gar nicht interessieren
  • Benötigt Setup und Libraries, mehr Arbeit und Komplexität
  • SEO Nachteile
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was ist die Philosophie von React Router?

A
  • React Router hat nicht den Prinzipien gefolgt, daher wurde mit Version 4 Dynamic Routing mit einem Rehaul ermöglicht
  • React Router V4 ist deklarativ und Routing findet statt wenn APP rendert
  • V4 erlaubt auch das Composen von Routes mit UI Components
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Wie fügt man einem Projekt React Router hinzu?

A

yarn add react-router-dom

import { BrowserRouter as Router } from ‘react-router-dom’;

ReactDOM .render(
 Router/>
 App/>
/Router>,
document.getElementById("root"));
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Warum importiert man BrowserRouter und nicht Router von react-routercom?

A
  • Weil dann die App nicht nur in BrowserRouter genested wird, sondern auch in Browser.
  • Code und Nesting in DOM sind kongruenter
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Wofür ist die match Property in State vom Router Element?

A

-Refenziert die aktuelle URL

-

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

Was macht das Router history Object?

A
  • Liefert Protope Methoden wie goBack, goForward etc

- Zum navigieren

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

Was ist alles was man von react-router-dom importiert?

A

-Components, z.B. Route ist eine Component

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

Was bedeutet es, dass der Code in React Router deklarativ ist?

A
  • Man schaut auf den Code und sieht was passiert
  • Man kann gedacht explizit deklarieren
  • “I habe eine Route, welche wenn der Path /users ist die component Users rendern wird”
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Wie wird die Component zu / /contact und /about genannt?

A
/ ist Home Component
Route exact path="/" component={Home} />
/contact ist Contact Component
Route path="/contact" component={Contact} />
/about ist About Component
Route path="/about" component={About} />
17
Q

Ist man wenn man auf /contact ist in React Route auch noch auf der Route /?

A

-Ja, weil die Routes mit Regex nicht exakt gecheckt werden, befindet man sich auf beiden Seiten
-Das löst man dadurch, dass man die Home route mit der exact Props ergänzt
Route exact path=”/” component={Home} />

18
Q

Was sind Dynamic Routes?

A
  • Browser können dynamische Routen aufrufen mit Params

- React Router wird nur conditionally die URL mit den zugehörigen Params rendern

19
Q

Was sind Dynamic Routes nützlich?

A

-Betrachten einer Profilansicht bestimmten ID von einem User

20
Q

Wie setzt man eine Dynamic Route in React?

A

Route path=”/users/:usersID” compontent={SingleUser] />

21
Q

Wie sieht eine Dynamic Route in der URL aus?

A

website/users/5

22
Q

Warum ist das match Object relevant bei Dynamic Routing?

A
  • Wenn die SingleUser Component die URL mit der ID erhält muss sie auf die ID der URL zugreifen
  • Die Route besitzt ein match Object, welche den Key params: besitzt. Params enthält dynamic Daten.
  • Das match Object ist verfübar für das SingleUser Component via Props.match.userid
23
Q

Was ist eine Single Page Application?

A
  • Eine einzelne HTML Page, die dem Browser direkt am Anfang beim Page Load geserved wird
  • Der Apps ist schon im Browser geladen und muss daher nicht mehr refreshed werden
  • Server Side Routing Apps sind verschiedene HTML Pages
24
Q

Was ist Client Side Routing (CSR) ?

25
Was ist ein bekanntes Beispiel für eine Single Page Application?
- Facebook lädt die Seiten nicht neu, wenn man Groups, Stores, Browse wechselt - Ist schneller beim Wechseln von Seiten, da keine neue HTML Seite vom Server geladen wird
26
Was ist Deep Linking?
-Tiefer Verlinken von IDs/spezifischen Dingen auf einer Website
27
Warum ist das Kontrolieren der URL über den Zustand der Web Applikation wichtig?
-Wenn der User z.B. einen bestimmten Artikel an einen Freund teilen möchte, kann er einfach die URL weitergeben
28
Ist die ID aus der URL für Dynamic Routing ein String oder eine Number?
-Immer ein String, daher muss man vor einem Vergleich mit dieser noch die andere ID durch String Interpolation in eine ID umwandeln const singleUser = userList.find(user => `${uiser.id}` === id);
29
Was macht die Link Component?
-Hilft zwischen Routes zu navigieren
30
Wie nutzt man die Link Component?
import { Route, Link } from "react-router-dom"; Link to="/about">About /Link>
31
Wofür ist die .find() Methode beim Dynamic Routing?
-const item = items.find((item) => ``${item.id}` == props.match.params.id)