reactjs - 如何使用 React 钩子使状态在 localStorage 中持久存在?
问题描述
我用钩子在 React 中制作了一个简单的 todo 应用程序。我创建了一个上下文文件并将其导入到主 App 组件中,我创建了一个 reducer 文件并将其也导入到主 App 中。我现在想让状态(从上下文文件中提交的项目)保存到 localState 中,然后在每次重新加载浏览器时重新加载到应用程序中。
在做了一些研究之后,我创建了一个自定义钩子,但我仍然无法弄清楚如何解决这个问题。代码如下所示。
function usePersistedState(key, defaultVal) {
const [myState, setMyState] = useState(() => {
return localStorage.getItem(key) || defaultVal;
});
useEffect(() => {
localStorage.setItem(key, JSON.stringify(myState));
}, [key, myState]);
return [myState, setMyState];
}
我想使用我已经创建的钩子来处理我的应用程序状态的 localStorage。
解决方案
推荐阅读
- sql - postgresql中的多个引用
- c# - 如何正确地将 DI HttpClient 转换为 FlurlClient?
- python - 如何访问flask-sqlalchemy中的primary_key?
- php - Oauth 2.0 身份验证授权类型:密码
- python - Python迭代一个列表并从所有迭代中创建一个嵌套列表
- r - 在数据框单元格中显示 2 个数字
- angular - 如何使用(deck gl,mapbox)在 Angular 中实现 nebula gl?
- php - phpmailer:仅在接受收件人并发送电子邮件时如何调试
- cloudflare - AWS SES 和 Cloudflare 上的 DKIM 验证失败
- html - 折叠按钮不动