Skip to content

Commit 651cd4c

Browse files
author
Minseo Kim
committed
fix: resolve infinite loop in useScheme and dependency warning
1 parent ef86b31 commit 651cd4c

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

src/hooks/useScheme.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { useQuery, useQueryClient } from "@tanstack/react-query"
22
import { getCookie, setCookie } from "cookies-next"
3-
import { useEffect } from "react"
3+
import { useEffect, useCallback } from "react"
44
import { CONFIG } from "site.config"
55
import { queryKey } from "src/constants/queryKey"
66
import { SchemeType } from "src/types"
@@ -19,11 +19,13 @@ const useScheme = (): [SchemeType, SetScheme] => {
1919
: (CONFIG.blog.scheme as SchemeType),
2020
})
2121

22-
const setScheme = (scheme: SchemeType) => {
23-
setCookie("scheme", scheme)
24-
25-
queryClient.setQueryData(queryKey.scheme(), scheme)
26-
}
22+
const setScheme = useCallback(
23+
(scheme: SchemeType) => {
24+
setCookie("scheme", scheme)
25+
queryClient.setQueryData(queryKey.scheme(), scheme)
26+
},
27+
[queryClient]
28+
)
2729

2830
useEffect(() => {
2931
if (!window) return

src/routes/Detail/PageDetail/index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const PageDetail: React.FC<Props> = () => {
1717
.replace(/^Daily\s*$/m, "")
1818
.replace(/^\[View Resume\]\(.*\)$/m, "")
1919
.trim()
20-
}, [data?.content, data?.slug])
20+
}, [data])
2121

2222
if (!data) return null
2323

@@ -53,7 +53,7 @@ const StyledWrapper = styled.div`
5353
padding: 3rem 1.5rem;
5454
border-radius: 1.5rem;
5555
background-color: ${({ theme }) =>
56-
theme.scheme === "light" ? "white" : theme.colors.gray4};
56+
theme.scheme === "light" ? "white" : theme.colors.gray4};
5757
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
5858
0 2px 4px -1px rgba(0, 0, 0, 0.06);
5959
margin: 0 auto;

0 commit comments

Comments
 (0)