自定义一个Hook用于管理localStorage
import { useEffect, useState } from "react";
function useLocalStorage(key) {
const [data, setData] = useState(() => {
const item = localStorage.getItem(key)
if (!item) return ""
return JSON.parse(item)
})
useEffect(() => {
localStorage.setItem(key, JSON.stringify(data))
}, [key, data])
return [data, setData]
}
export default useLocalStorage
使用
import React, { memo } from 'react'
import useLocalStorage from './hooks'
const App = memo(() => {
const [token, setToken] = useLocalStorage("token");
function setTokenHandle() {
setToken("xiaoniu")
}
return (
<div>
<h2>{token}</h2>
<button onClick={setTokenHandle}>设置token</button>
</div>
)
})
export default App

