diff --git a/web/src/components/MemoList.tsx b/web/src/components/MemoList.tsx index e29b2f92..76e70de7 100644 --- a/web/src/components/MemoList.tsx +++ b/web/src/components/MemoList.tsx @@ -103,6 +103,15 @@ const MemoList = () => { } }, [query]); + useEffect(() => { + if (isFetching || isComplete) { + return; + } + if (sortedMemos.length < DEFAULT_MEMO_LIMIT) { + handleFetchMoreClick(); + } + }, [isFetching, isComplete, query, sortedMemos.length]); + const handleFetchMoreClick = async () => { try { const fetchedMemos = await memoService.fetchMemos(DEFAULT_MEMO_LIMIT, memos.length); diff --git a/web/src/store/modules/location.ts b/web/src/store/modules/location.ts index 7130f190..dabd4dd6 100644 --- a/web/src/store/modules/location.ts +++ b/web/src/store/modules/location.ts @@ -42,7 +42,8 @@ const getStateFromLocation = () => { state.query.tag = urlParams.get("tag") ?? undefined; state.query.type = (urlParams.get("type") as MemoSpecType) ?? undefined; state.query.text = urlParams.get("text") ?? undefined; - state.query.shortcutId = Number(urlParams.get("shortcutId")) ?? undefined; + const shortcutIdStr = urlParams.get("shortcutId"); + state.query.shortcutId = shortcutIdStr ? Number(shortcutIdStr) : undefined; const from = parseInt(urlParams.get("from") ?? "0"); const to = parseInt(urlParams.get("to") ?? "0"); if (to > from && to !== 0) {