Counter + Reset Komponente; Leere React-App für TodoListe erstellt;

Readme hinzugefügt
This commit is contained in:
2026-07-14 10:09:51 +02:00
parent e75d7a4120
commit f08dec4eba
20 changed files with 58 additions and 56 deletions

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

+15
View File
@@ -0,0 +1,15 @@
import Counter from './Counter.jsx'
function App() {
return (
<div className="App">
<h1>Hello World!</h1>
<div>
<Counter /> <br />
<Counter storageName={'test-counter'} />
</div>
</div>
);
}
export default App
+29
View File
@@ -0,0 +1,29 @@
import { useState } from 'react';
function Counter({storageName = 'default-counter'}) {
localStorage.setItem(storageName, (parseInt(localStorage.getItem(storageName)) || 0));
const [count, setCount] = useState(localStorage.getItem(storageName));
return (
<>
<button onClick={() => {
localStorage.setItem(storageName, (parseInt(localStorage.getItem(storageName)) || 0) + 1);
setCount(localStorage.getItem(storageName));
}}>
Count: {count}
</button>
<ResetButton storageName={storageName} />
</>
);
}
function ResetButton({storageName = 'default-counter'}) {
return (
<button onClick={() => localStorage.setItem(storageName, 0)}>
Reset Counter
</button>
);
}
export default Counter;

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

+14
View File
@@ -0,0 +1,14 @@
# React App zum Laufen bringen
1. 'Erster React Test' Ordner in Eingabeaufforderung oder PowerShell öffnen
2. `npm install` -> npm installiert Abhängigkeiten für React
3. `npm run dev` -> npm startet React-Development-Server; Ausgabe sollte ungefähr sein:
```
VITE v8.1.4 ready in 345 ms
➜ Local: http://localhost:5173/
➜ Network: use --host to expose
➜ press h + enter to show help
```
4. Eingabeaufforderung / PowerShell geöffnet lassen, da sonst auch der Server beendet wird
5. Falls sich Browserfenster nicht automatisch öffnet, ist die React App über den Link (siehe oben) erreichbar
6. Dateien innerhalb von 'Erster React Test/src' verändern, um die React App weiterzuentwickeln
-26
View File
@@ -1,26 +0,0 @@
import Counter from './Counter.jsx'
const fruitlist = ['apple', 'banana', 'cherry'];
function App() {
return (
<div className="App">
<h1>Hello World!</h1>
<ul>
{fruitlist.map((fruit, index, array) => {
return (
<li key={fruit}>
Name: {fruit}, Index: {index}, Array: {array}
</li>
);
}
)}
</ul>
<div>
<Counter />
</div>
</div>
);
}
export default App
@@ -1,30 +0,0 @@
import { useState } from 'react'
function Counter({storageName}) {
let startValue = parseInt(localStorage.getItem(storageName)) || 0;
localStorage.setItem(storageName, startValue);
const [count, setCount] = useState(startValue);
return (
<>
<button onClick={() => {
localStorage.setItem(storageName, count + 1);
setCount(count + 1);
}}>
Count: {count}
</button>
<CounterReset storageName=storageName />
</>
)
}
function CounterReset({storageName = 'default-counter'}) {
return (
<button onClick={() => localStorage.setItem(storageName, 0)}>
Reset Counter
</button>
)
}
export default Counter