【发布时间】:2021-05-20 20:22:27
【问题描述】:
所以我正在尝试从本地存储中加载一些数据以用于 Chrome 扩展程序。我需要使用这些数据来设置 useState 挂钩的初始值。到目前为止,这是我尝试过的:
const Popup = (): ReactElement => {
// load state from local storage
let overviewIsOpenLS;
useLayoutEffect(() => {
chrome.runtime.sendMessage({ getFromLocalStorage: 'overviewIsOpen' }, response => {
overviewIsOpenLS = response;
});
}, []);
console.log(overviewIsOpenLS); // returns undefined
// trying to use the value of overviewIsOpenLS as the initial value of this useState
const [overviewIsOpen, setOverviewIsOpen] = useState<boolean>(overviewIsOpenLS);
return <>...
}
我两次/三次检查了本地存储中的值,它是正确的。但是,此时顶部的 useEffect 不起作用,变量仍未定义。知道如何实现吗?
【问题讨论】:
标签: javascript reactjs typescript react-hooks