Skip to content

Commit aebc555

Browse files
fix: devtools hydration error (#1727)
1 parent 1f6fcef commit aebc555

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

src/devtools/useLocalStorage.ts

+10-6
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,17 @@ const getItem = key => {
1111
}
1212

1313
export default function useLocalStorage(key, defaultValue) {
14-
const [value, setValue] = React.useState(() => {
15-
const val = getItem(key)
16-
if (typeof val === 'undefined' || val === null) {
17-
return typeof defaultValue === 'function' ? defaultValue() : defaultValue
14+
const [value, setValue] = React.useState()
15+
16+
useEffect(() => {
17+
const initialValue = getItem(key)
18+
19+
if (typeof initialValue === 'undefined' || initialValue === null) {
20+
setValue(typeof defaultValue === 'function' ? defaultValue() : defaultValue)
21+
} else {
22+
setValue(initialValue)
1823
}
19-
return val
20-
})
24+
}, []);
2125

2226
const setter = React.useCallback(
2327
updater => {

0 commit comments

Comments
 (0)