React中的"未捕获引用错误:未定义FB"



我已经在React应用中添加了Facebook登录api

// index.html
<body>
<div id="fb-root"></div>
<script src="https://connect.facebook.net..." etc... />
<script>
const FB = window.FB;
window.fbAsyncInit = function() {
FB.init({etc...});
FB.AppEvents.logPageView();
}
</script>
etc...
<div id="root"></div>
</body>

然后是React提供商中的另一个

// SomeProvider.js
const SomeProvider = () => {
useEffect(() => {
window.FB.getLoginStatus((res) => {etc...});
}, []);
etc...
}

我得到的错误消息是FB没有在SomeProvider.js中定义,然后是react-dom.production.min.js的另一个相同消息。

我不明白为什么。


更新

当我反复刷新时,有时错误不会出现,这让我认为这是一个异步问题。似乎window.FB.getLoginStatus需要等待,直到index.html中的FB.init完成。我的评估正确吗?对此有什么建议吗?

您可以尝试添加[window.FB]作为someprovide 的使用效果

相关内容

最新更新