kolplattformen / skolplattformen

The source code to the civic tech project Öppna Skolplattformen.
https://skolplattformen.org
Apache License 2.0
795 stars 176 forks source link

Hooks laddar inte om data om parametrar ändras #579

Open whyer opened 2 years ago

whyer commented 2 years ago

Hittat en bugg i api-hooks som jag inte riktigt vet hur den ska fixas. Om parametrarna till tex useTimetable ändras så ändras inte datan vi får tillbaka. Hooks 'upptäcker' inte att parametrarna i tex child nedan ändras och ställer aldrig om frågan till api:t.

const { data: weekLessons } = useTimetable( child, week, year, LanguageService.getLanguageCode() )

Jag märkte att när man kör så syns inte schema-tiderna på framsidan ibland. Orsaken är att vi gör två anrop mot etjanst och skola24 för att sen merga ihop datat. Det betyder att child-objektet ändras efter en stund när skola24 är laddat. Men om vi skickat iväg en anrop till useTimetable och useTimetable fått svar från api:t innan skola24 berikat child-objektet så får vi tillbaka en tom array. Och sen får man alltid tillbaka en tom array för den hooken (för den vyn).

Som jag ser det finns det inget i hooks som triggar om en ny load() om nyckeln (key) ändras.

viktorlarsson commented 2 years ago

Har vi någon useEffect på parametrarna?