useMemo 可以缓存表单的值么?

我现在自定义了分布表单,当我点击了下一步,上一步所填的信息就没了,需要重新填, 我现在想到翻办法是用隐藏dom, 不知道哦用usememo是否可以缓存数据,在我切换组件的时候不丢失(我自己试没成功)

想问有什么解决办法吗?

阅读 1.5k
2 个回答

useMemo只会在组件的声明周期内有效,当组件被销毁时,缓存的内容也就没了。

若想还是保留之前的数据,有几种方式:

  1. 不销毁组件,就是你实现的那种方式,而仅仅是做隐藏处理;
  2. 在更高一层或者全局做状态管理,把数据缓存到更外层的状态中(如redux,Mobx等),当切回到之前的组件时,该组件再从状态管理中读取之间的数据;这种方式在刷新页面后,数据也就丢失了;
  3. 写入到本地,如存储到sessionStorage, localStorage中,当切回到之前的组件时,该组件从本地缓存中读取数据;

useContext 应该能满足需求。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题