vault backup: 2025-05-17 12:21:31
Affected files: .obsidian/workspace.json .obsidian_iphone/plugins/obsidian-spaced-repetition/data.json .obsidian_iphone/workspace-mobile.json 2 Personal/1 Skills/IT/React Learnings.md
This commit is contained in:
60
.obsidian/workspace.json
vendored
60
.obsidian/workspace.json
vendored
@@ -23,34 +23,6 @@
|
||||
"title": "Dashboard"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "29fe6103d2a1b311",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "2 Personal/Lists/Packlisten/Packliste - Skitour.md",
|
||||
"mode": "source",
|
||||
"source": false
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "Packliste - Skitour"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "b61acafdb7bde436",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "0 Journal/0 Daily/2025-05-01.md",
|
||||
"mode": "source",
|
||||
"source": false
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "2025-05-01"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "b5d9cec23d736cf3",
|
||||
"type": "leaf",
|
||||
@@ -78,9 +50,23 @@
|
||||
"icon": "lucide-file",
|
||||
"title": "Status Quo OneSec"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "fb9714bcef14ff37",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "2 Personal/1 Skills/IT/React Learnings.md",
|
||||
"mode": "source",
|
||||
"source": false
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "React Learnings"
|
||||
}
|
||||
}
|
||||
],
|
||||
"currentTab": 2
|
||||
"currentTab": 3
|
||||
}
|
||||
],
|
||||
"direction": "vertical"
|
||||
@@ -112,7 +98,7 @@
|
||||
"state": {
|
||||
"type": "search",
|
||||
"state": {
|
||||
"query": "",
|
||||
"query": "linsen",
|
||||
"matchingCase": false,
|
||||
"explainSearch": false,
|
||||
"collapseAll": false,
|
||||
@@ -327,16 +313,20 @@
|
||||
"periodic-notes:Open today": false
|
||||
}
|
||||
},
|
||||
"active": "b61acafdb7bde436",
|
||||
"active": "fb9714bcef14ff37",
|
||||
"lastOpenFiles": [
|
||||
"Dashboard.md",
|
||||
"2 Personal/1 Skills/IT/React Learnings.md",
|
||||
"2 Personal/1 Skills/IT",
|
||||
"2 Personal/Lists/Packlisten/Packliste - Skitour.md",
|
||||
"2 Personal/Wohnen/Rezepte/Markdownload/Püree von roten Linsen mit Cherrytomaten-Gemüse.md",
|
||||
"0 Journal/0 Daily/2025-05-01.md",
|
||||
"0 Journal/0 Daily/2025-05-13.sync-conflict-20250513-182543-6QX3SGA.md",
|
||||
"0 Journal/0 Daily/2025-05-13.md",
|
||||
"99 Work/0 OneSec/OneSecThoughts/Status Quo OneSec.md",
|
||||
"5 Media/0 Books/The Black Prism by Brent Weeks.md",
|
||||
"0 Journal/0 Daily/2025-05-01.md",
|
||||
"0 Journal/0 Daily/2025-04-28.md",
|
||||
"0 Journal/0 Daily/2025-03-26.md",
|
||||
"2 Personal/Lists/Packlisten/Packliste - Skitour.md",
|
||||
"Sync",
|
||||
"Shared_Folder",
|
||||
"OneNote/BSM",
|
||||
@@ -346,7 +336,6 @@
|
||||
"5 Media/5 Other",
|
||||
"5 Media/3 Films",
|
||||
"3 Knowledge/4 Politics",
|
||||
"0 Journal/4 Yearly",
|
||||
"2 Personal/Lists/Packlisten/Packliste - Skihochtour.md",
|
||||
"2 Personal/Lists/Packlisten/Packliste - Berge Mehrtages.md",
|
||||
"2 Personal/Hobbies/Berge/Gletscherkurs/Gletscherkurs - Selbstudie.md",
|
||||
@@ -362,9 +351,6 @@
|
||||
"0 Journal/0 Daily/2025-04-08.md",
|
||||
"Temporary/Untitled 4.md",
|
||||
"Excalidraw/Drawing 2025-04-08 11.44.11.excalidraw.md",
|
||||
"2 Personal/Hobbies/Berge/Gletscherkurs/Gletscherkurs 2024.md",
|
||||
"2 Personal/Home Lab/Repairshop/Data Recovery from corrupted Harddisks.md",
|
||||
"0 Journal/0 Daily/2025-04-02.md",
|
||||
"Attachments/Pasted image 20250402091926.png",
|
||||
"Attachments/Pasted image 20250331151348.png",
|
||||
"Attachments/IMG_5894.jpeg",
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
"maxLinkFactor": 1,
|
||||
"showDebugMessages": false
|
||||
},
|
||||
"buryDate": "2025-05-13",
|
||||
"buryDate": "2025-05-16",
|
||||
"buryList": [],
|
||||
"historyDeck": null
|
||||
}
|
||||
@@ -69,12 +69,12 @@
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "0 Journal/0 Daily/2025-05-13.md",
|
||||
"file": "2 Personal/Wohnen/Rezepte/Markdownload/Püree von roten Linsen mit Cherrytomaten-Gemüse.md",
|
||||
"mode": "source",
|
||||
"source": true
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "2025-05-13"
|
||||
"title": "Püree von roten Linsen mit Cherrytomaten-Gemüse"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -1251,6 +1251,26 @@
|
||||
{
|
||||
"id": "16616930c1927dd4",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "review-queue-list-view",
|
||||
"state": {},
|
||||
"icon": "lucide-file",
|
||||
"title": "Plugin no longer active"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "b76b774dc445f44a",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "review-queue-list-view",
|
||||
"state": {},
|
||||
"icon": "lucide-file",
|
||||
"title": "Plugin no longer active"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "567d74707cb7125a",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "review-queue-list-view",
|
||||
"state": {},
|
||||
@@ -1276,11 +1296,11 @@
|
||||
"periodic-notes:Open today": false
|
||||
}
|
||||
},
|
||||
"active": "f75db023ac07cdfd",
|
||||
"active": "567d74707cb7125a",
|
||||
"lastOpenFiles": [
|
||||
"0 Journal/0 Daily/2025-05-13.md",
|
||||
"0 Journal/0 Daily/2025-05-13.sync-conflict-20250513-182543-6QX3SGA.md",
|
||||
"2 Personal/Lists/Business Ideas.md",
|
||||
"0 Journal/0 Daily/2025-05-13.md",
|
||||
"2 Personal/Lists/Packlisten/Packliste - Skihochtour.md",
|
||||
"2 Personal/Lists/Packlisten/Packliste - Skitour.md",
|
||||
"2 Personal/Lists/Packlisten/Packliste - Berge Mehrtages.md",
|
||||
|
||||
16
2 Personal/1 Skills/IT/React Learnings.md
Normal file
16
2 Personal/1 Skills/IT/React Learnings.md
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
title: React Learnings
|
||||
created_date: 2025-05-17
|
||||
updated_date: 2025-05-17
|
||||
aliases:
|
||||
tags:
|
||||
---
|
||||
# React Learnings
|
||||
|
||||
## State Machine - Reducers
|
||||
Reducers are what they are named after: they reduce the current state variable and an action/event into a new state and therefore are perfect for handling state machines of complex components within a react app.
|
||||
The official documentation is really good: [useReducer – React](https://react.dev/reference/react/useReducer) and this blog article helped me as well: [Medium](https://medium.com/better-programming/simplify-your-react-components-state-with-a-state-machine-8e9c9a4ee1f6)
|
||||
|
||||
Reducers are pure, so within the reducer function you never do any API calls or anything that needs to do calculations.
|
||||
|
||||
If you need to do any API calls or heavy calculations they must be done outside of the reducer function as explained here: [Just a moment...](https://stackoverflow.com/questions/64419132/how-to-make-api-call-in-usereducer).
|
||||
Reference in New Issue
Block a user