【发布时间】:2020-07-28 20:50:46
【问题描述】:
如何在这样的功能组件中使用 LocalStorage
我知道如何在类组件中执行此操作,但在这种情况下我可以解决这个问题吗?
错误:TypeError:存储库不是函数
export default function Main() {
const [newRepo, setNewRepo] = useState('');
const [repositories, setRepositories] = useState([]);
const [clearInput] = useState([]);
const [loading, setLoading] = useState(false);
useEffect(() => {
repositories(localStorage.getItem('repositories'));
if (repositories) {
setRepositories(JSON.parse(repositories));
}
}, [repositories]);
useEffect((_, prevState) => {
if (prevState.repositories !== repositories) {
localStorage.setItem('repositories', JSON.stringify(repositories));
}
});
【问题讨论】:
-
看起来你使用本地存储很好......你想让这部分工作的问题
_, prevState需要知道效果中的先前状态吗? -
当我返回存储库页面时,我希望存储库继续显示
-
您可以在以下位置访问存储库:github.com/paulorod07/ListGitHubRepositories 我有这个错误:× TypeError: repositories is not a function
-
repositories是一个const,它存储当前状态,最初是一个数组。以下行没有意义:repositories(localStorage.getItem('repositories'));
标签: javascript reactjs local-storage react-hooks