Tr3x
Lieutenant
- Registriert
- Feb. 2007
- Beiträge
- 640
Hallo,
ich beschäftige mich gerade intensiver mit React in Verbindung mit Zustand um alle Daten global zu speichern. Die App ist zur Übung einfach gehalten bei der ich User und Trainings anlegen kann. Als dritte "Liste" führe ich welche User welches Training besucht hat. Weiter unten wie ich meinen Store (Zustand) aktuell aufgebaut habe und unten ein paar Screenshots wie die App aktuell aussieht.
Wenn ich an eine SQL Datenbank denke, wäre die Struktur Redundant und würde in den "records" nur die IDs referenzieren. Das bedeutet aber in meiner App, wenn ich eine Übersicht der Records zeigen möchte, das ich mir für die IDs eine Funktion getTrainings und Records ziehen müsste. Wie ist den Eure Meinung bzw. was ist so die gängige best practice?
Mein akteuller Store.js ist in etwa vereinfacht folgend aufgebaut:
Anzeige User
Anzeige Trainings
Anzeige besuchte Trainings und User (entspricht die Liste records aus dem Store)
ich beschäftige mich gerade intensiver mit React in Verbindung mit Zustand um alle Daten global zu speichern. Die App ist zur Übung einfach gehalten bei der ich User und Trainings anlegen kann. Als dritte "Liste" führe ich welche User welches Training besucht hat. Weiter unten wie ich meinen Store (Zustand) aktuell aufgebaut habe und unten ein paar Screenshots wie die App aktuell aussieht.
Wenn ich an eine SQL Datenbank denke, wäre die Struktur Redundant und würde in den "records" nur die IDs referenzieren. Das bedeutet aber in meiner App, wenn ich eine Übersicht der Records zeigen möchte, das ich mir für die IDs eine Funktion getTrainings und Records ziehen müsste. Wie ist den Eure Meinung bzw. was ist so die gängige best practice?
Mein akteuller Store.js ist in etwa vereinfacht folgend aufgebaut:
JSON:
{
"trainings": [{
"id": 2491507048,
"name": "Marketing"
}, {
"id": 1755793330,
"name": "Public Relation"
}
],
"member": [{
"id": 4123767104,
"name": "Bob"
}, {
"id": 1828461878,
"name": "Laura"
}
],
"records": [{
"member": "Bob",
"training": "Public Relation",
"completedOn": "2025-01-08T21:45:01.388Z",
"createdOn": "2025-01-02T21:45:08.126Z",
"id": 1
}, {
"member": "Laura",
"training": "Marketing",
"completedOn": "2025-01-08T21:45:01.388Z",
"createdOn": "2025-01-02T21:45:13.753Z",
"id": 2
}, {
"member": "Laura",
"training": "Public Relation",
"completedOn": "2025-02-06T21:45:01.388Z",
"createdOn": "2025-01-02T21:45:19.202Z",
"id": 3
}
],
/*
get and setter functions um trainings, records und user zu löschen, erstellen oder bearbeiten
*/
}
Anzeige User
Anzeige Trainings
Anzeige besuchte Trainings und User (entspricht die Liste records aus dem Store)