Skip to content

Commit ed873aa

Browse files
committed
fixed slides layout
1 parent 725972f commit ed873aa

1 file changed

Lines changed: 15 additions & 16 deletions

File tree

Material/Slides/10_React_Next.md

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ plantuml-format: svg
4949
- `npm run dev` im Projektverzeichnis ausführen
5050

5151
> Hinweis: Node muss installiert sein.
52+
5253
> [Referenz von nextjs.org](https://nextjs.org/docs/app/getting-started/installation)
5354

5455
## Projektstruktur
@@ -76,13 +77,11 @@ Eine Komponente ist eine JavaScript-Funktion, die props (Eigenschaften) als Argu
7677

7778
```jsx
7879
import React from "react";
79-
8080
function SimpleComponent() {
81-
const greeting = "Hallo, React!";
81+
const greeting = "Hallo, React! ";
8282
return (
8383
<div>
84-
<h1>{greeting}</h1>
85-
<p>Dies ist eine einfache React-Komponente mit JSX.</p>
84+
<h1>{greeting}</h1> Dies ist eine einfache React-Komponente mit JSX.
8685
</div>
8786
);
8887
}
@@ -101,11 +100,7 @@ export default SimpleComponent;
101100

102101
```jsx
103102
import SimpleComponent from "./simple";
104-
export default function RootLayout({
105-
children,
106-
}: Readonly<{
107-
children: React.ReactNode;
108-
}>) {
103+
export default function RootLayout({children,}: Readonly<{children: React.ReactNode;}>) {
109104
return (
110105
<html lang="de">
111106
<body>
@@ -114,7 +109,6 @@ export default function RootLayout({
114109
</html>
115110
);
116111
}
117-
118112
```
119113

120114
## Props und State
@@ -181,6 +175,8 @@ Die Außenwelt kann zum Beispiel sein:
181175
Normalerweise kümmert sich React nur um das Darstellen der Oberfläche.
182176
Mit einem Effekt kann eine Komponente zusätzlich etwas außerhalb von React machen.
183177

178+
## Hooks (5): useEffect
179+
184180
```jsx
185181
function ChatRoom({ roomId }) {
186182
useEffect(() => {
@@ -221,6 +217,8 @@ $primary-color: olive;
221217
}
222218
```
223219

220+
## Styling mit SASS - Beispiel
221+
224222
```css
225223
/* CSS */
226224
.button {
@@ -233,12 +231,16 @@ $primary-color: olive;
233231

234232
# Navigation
235233

236-
## Dateibasiertes Routing
234+
## Dateibasiertes Routing (1)
237235

238236
- Next.js nutzt dateibasierte Routen: Dateien im app- bzw. pages-Verzeichnis definieren automatisch URL-Routen.
239237
- Beispiel: Die Datei app/page.tsx (index-Seite) erzeugt die Route /. Darin exportiert man eine React-Komponente als Standard-Export:
240238
- Layouts (z.B. app/layout.tsx) definieren gemeinsame UI-Elemente (Header, Footer, etc.) für alle oder mehrere Seiten. Layouts behalten beim Navigieren ihren Zustand bei.
241-
- Unterordner im app-Verzeichnis erzeugen verschachtelte Routen. Beispiel: app/blog/page.tsx entspricht der Route /blog.
239+
- Unterordner im app-Verzeichnis erzeugen verschachtelte Routen.
240+
241+
## Dateibasiertes Routing (2)
242+
243+
Beispiel: app/blog/page.tsx entspricht der Route /blog.
242244

243245
- app/
244246
- page.tsx → Route: "/"
@@ -271,12 +273,11 @@ export default function BlogPost({ params }) {
271273

272274
## Navigation zwischen Seiten
273275

274-
- Zur Navigation zwischen Seiten nutzt man in Next.js die Link-Komponente aus next/link.
276+
- Zur Navigation zwischen Seiten nutzt man in Next.js die Link-Komponente.
275277
- Link erweitert das HTML-a-Tag um clientseitiges Routing und Prefetching (im Hintergrund vorgeladene Links).
276278

277279
```jsx
278280
import Link from "next/link";
279-
280281
export default function Navbar() {
281282
return (
282283
<nav>
@@ -295,10 +296,8 @@ export default function Navbar() {
295296

296297
```jsx
297298
import { useRouter } from "next/router";
298-
299299
export default function ReadMore() {
300300
const router = useRouter();
301-
302301
return (
303302
<button onClick={() => router.push("/about")}>
304303
Click here to read more

0 commit comments

Comments
 (0)