【发布时间】:2021-01-21 16:51:44
【问题描述】:
我想在每次打开屏幕时检查是否有一个存储值连接到“amazonAddressKey”,但它并不总是有效。
const [isLoaded, setIsLoaded] = React.useState(false);
React.useEffect(() => {
saveAmazonVisibility();
}, []);
const [amazonVisibility, setAmazonVisibility] = React.useState();
async function saveAmazonVisibility() {
const amazonGetKey = await SecureStore.getItemAsync("amazonAddressKey");
if (JSON.parse(amazonGetKey)) {
setAmazonVisibility(true);
console.log(JSON.parse(amazonGetKey));
} else {
setAmazonVisibility(false);
console.log(JSON.parse(amazonGetKey));
}
setIsLoaded(true);
}
【问题讨论】:
-
当你说'它不起作用'时,'它'到底是什么
-
这很可能是您正在使用 react-navigation 并且您希望每次都安装该组件。如果是这样,您必须使用
focus侦听器来运行您的函数。 -
谢谢@IanVasco!这就是我一直在寻找的。我在想 useEffect() 正在做这项工作。
标签: reactjs react-native react-hooks expo use-effect