【发布时间】:2020-11-22 13:58:28
【问题描述】:
我有一个功能组件,我从我的 localStorage 中获取一个值并使用该值设置一个状态值:
localforage.getItem<string>('sortType').then((value) => {
setSortType(value)
})
const [sortType, setSortType] = useState('release_date');
当我运行组件时,我会得到一个日志:
警告:无法对未安装的组件执行 React 状态更新。这是一个空操作,但它表明您的应用程序中存在内存泄漏。要解决此问题,请在 useEffect 清理函数中取消所有订阅和异步任务。
我读到发生这种情况是因为我在一个状态上使用了异步方法localforage.getItem。但我还没有找到适用于功能组件的解决方案。
【问题讨论】:
-
会不会是在设置状态之前先定义状态?
标签: reactjs typescript