Reset state on unmount

Prevent TypeErrors due to invalid previous state
This commit is contained in:
schroda
2024-12-09 04:38:33 +01:00
parent 0e3b629287
commit 107bbfddbb
2 changed files with 21 additions and 1 deletions

View File

@@ -131,6 +131,25 @@ export const Reader = () => {
setManga(mangaResponse.data?.manga);
}, [mangaResponse.data?.manga]);
// reset states
useEffect(
() => () => {
setManga(undefined);
setReaderStateChapters({
mangaChapters: [],
chapters: [],
});
setCurrentPageIndex(0);
setPageToScrollToIndex(0);
setTotalPages(0);
setPages([createPageData('', 0)]);
setPageUrls([]);
setPageLoadStates([{ loaded: false }]);
},
[],
);
// set pages state
useEffect(() => {
const pagesPayload = pagesResponse.data?.fetchChapterPages;
@@ -151,6 +170,7 @@ export const Reader = () => {
setCurrentPageIndex(initialReaderPageIndex);
setPageToScrollToIndex(initialReaderPageIndex);
} else {
setArePagesFetched(false);
setCurrentPageIndex(0);
setPageToScrollToIndex(0);
setTotalPages(0);