# 14 React Custom Hook Explained - Notes:
最编程
2024-03-26 13:55:38
...
- useEffect 在这里用于添加和移除事件监听器。
- 注意清除函数,以免内存泄漏。
4. 处理本地存储
import { useState } from 'react';
function useLocalStorage(key, initialValue) {
const [value, setValue] = useState(() => {
const storedValue = localStorage.getItem(key);
return storedValue ? JSON.parse(storedValue) : initialValue;
});
const updateValue = (newValue) => {
setValue(newValue);
localStorage.setItem(key, JSON.stringify(newValue));
};
return [value, updateValue];
}
// 在组件中使用
function LocalStorageComponent() {
const [name, setName] = useLocalStorage('name', '');
const handleChange = (event) => {
setName(event.target.value);
};
return (
<div>
<input type="text" value={name} onChange={handleChange} />
<p>Hello, {name}!</p>
</div>
);
}