gpt4 book ai didi

javascript - 如何在useEffect和window.addEventListener中设置react useState

转载 作者:行者123 更新时间:2023-12-02 22:45:18 24 4
gpt4 key购买 nike

我有 2 个状态变量,在页面加载时,程序检查是否有可用的代理,如果有,则 setDefault 状态变量设置为 true,然后是否触发语言更改事件并且有可用的代理setStudio 设置为 true,然而,当条件渲染完成时,默认值始终为 true,即使我在 eventListener 触发中将其设置为 false,谁能看到我做错了什么。

如有任何帮助,我们将不胜感激。

 const Home = ({ t, i18n, history }) => {
const [defaultStudio, setDefaultStudio] = useState(false);
const [studio, setStudio] = useState(false);

useEffect(() => {

checkForAvailableAgent(LINK_TO_AGENT)
.then(res => {
setDefaultStudio(res);
})
.catch(error => {
console.log("an error happened.");
});

window.addEventListener("langChange", () => {
if(i18n.language === "en") {
checkForAvailableAgent(LINK_TO_AGENT)
.then(res => {
setStudio(res);
setDefaultStudio(false);
})
.catch(error => {
console.log("an error happened.");
});
} else {
setStudio(false);
setDefaultStudio(false);
}
});

},[defaultStudio, studio, i18n.language]);



return (
defaultStudio ?
(<Button>Call live</Button>)
:
(<Button>Call</Button>)

)
}

最佳答案

默认是 JavaScript 中的 protected 关键字

var default = 1;
SyntaxError: missing variable name

用于标识默认导出模块。 导出默认的myComponent;重命名变量应该可以解决这个问题。 😊

关于javascript - 如何在useEffect和window.addEventListener中设置react useState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58428406/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com