react usestate本地保存
时间: 2023-12-05 22:05:30 浏览: 181
你可以使用`localStorage`来在本地保存React的`useState`状态。下面是一个示例:
```jsx
import React, { useState, useEffect } from 'react';
const App = () => {
const [count, setCount] = useState(() => {
const storedCount = localStorage.getItem('count');
return storedCount ? parseInt(storedCount) : 0;
});
useEffect(() => {
localStorage.setItem('count', count);
}, [count]);
const increment = () => {
setCount(prevCount => prevCount + 1);
};
const decrement = () => {
setCount(prevCount => prevCount - 1);
};
return (
<div>
<p>Count: {count}</p>
<button onClick={increment}>Increment</button>
<button onClick={decrement}>Decrement</button>
</div>
);
};
export default App;
```
在上面的示例中,我们使用`localStorage`在本地存储了`count`的值,并在组件挂载和`count`发生变化时更新存储的值。当组件重新渲染时,我们从`localStorage`中获取之前存储的值作为初始值。
请注意,由于`localStorage`只能存储字符串类型的数据,我们需要在存储和读取时进行适当的转换。在上面的示例中,我们使用了`parseInt`将字符串转换为整数类型。
阅读全文