Skip to content

Commit 885a08d

Browse files
store fetched data in session storage
1 parent 1a22bf2 commit 885a08d

File tree

1 file changed

+10
-13
lines changed

1 file changed

+10
-13
lines changed

src/api/fetchFeedItems.ts

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,11 @@
11
import { RefObject, SetStateAction } from 'react'
2+
import { FeedItemsType } from '@/types/types'
3+
import { setItemInSessionStorage } from '@/utils/setItemInSessionStorage'
24

35
const fetchFeedItems = async (
46
nextPage: RefObject<number>,
57
PAGE_SIZE: number,
6-
setFeedItems: (
7-
value: SetStateAction<
8-
{
9-
postId: number
10-
id: number
11-
name: string
12-
email: string
13-
body: string
14-
}[]
15-
>
16-
) => void
8+
setFeedItems: (value: SetStateAction<FeedItemsType[]>) => void
179
) => {
1810
try {
1911
const response = await fetch(
@@ -34,8 +26,13 @@ const fetchFeedItems = async (
3426
throw new Error('Received data was not ok')
3527
}
3628

37-
setFeedItems((prev) => [...prev, ...data])
38-
nextPage.current++
29+
setFeedItems((prevFeedItems) => {
30+
const updatedFeedItems = [...prevFeedItems, ...data]
31+
setItemInSessionStorage('feedItems', updatedFeedItems)
32+
setItemInSessionStorage('nextPage', nextPage.current + 1)
33+
34+
return updatedFeedItems
35+
})
3936
} catch (error: unknown) {
4037
console.error('An error occurred while fetching the photos.', error)
4138
}

0 commit comments

Comments
 (0)