gpt4 book ai didi

reactjs - '() => () => Promise' 类型的参数不能分配给 'EffectCallback' 类型的参数

转载 作者:行者123 更新时间:2023-12-04 03:26:14 25 4
gpt4 key购买 nike

我的代码是:

    useEffect(() => {
document.querySelector('body').style['background-color'] = 'rgba(173, 232, 244,0.2)';
window.$crisp.push(['do', 'chat:hide']);

return async () => {
window.$crisp.push(['do', 'chat:show']);
document.querySelector('body').style['background-color'] = '#ffffff';
if (router.query.id) {
const resDoc = await firebase.firestore().doc(`documents/${router.query.id}`).get();
if (resDoc.exists) {
await clearDocPrediction(router.query.id);
}
}
};
}, []);
现在我回来的原因是因为我相信它在卸载时执行函数清理,所以我需要保留它。这是某种构建错误,我不太确定如何解决。任何帮助将不胜感激。

最佳答案

useEffect回调应该有返回类型void。所以你不能返回一个 Promise:

useEffect(() => {
document.querySelector('body').style['background-color'] = 'rgba(173, 232, 244,0.2)';
window.$crisp.push(['do', 'chat:hide']);

window.$crisp.push(['do', 'chat:show']);
document.querySelector('body').style['background-color'] = '#ffffff';
if (router.query.id) {
firebase.firestore()
.doc(`documents/${router.query.id}`)
.get()
.then((resDoc) => {
if (resDoc.exists) {
clearDocPrediction(router.query.id);
}
});
}
}, []);

关于reactjs - '() => () => Promise<void>' 类型的参数不能分配给 'EffectCallback' 类型的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67546989/

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