当我点击“使用facebook登录”时,它会出现此错误“未捕获的TypeError:t不是函数”。 用户已登录但我的应用程序未显示主页。当我在没有facebook的情况下登录时它正常工作
登录错误屏幕截图http://prntscr.com/ezge48
export function LoginWithFacebook(){
return (dispatch) => {
var provider = new firebase.auth.FacebookAuthProvider();
firebase.auth().signInWithPopup(provider).then(function(result){
var user = result.user;
console.log("LoginSuccess");
dispatch(AllActions.userSignInSuccess(user))
browserHistory.replace('/home')
})
.catch((error) => {
console.log("login error", error)
dispatch(AllActions.userSignInFailed(error))
})
}
}
在HTML正文下面
<script>
window.fbAsyncInit = function() {
FB.init({
appId : ' app id here ',
cookie : true,
xfbml : true,
version : 'v2.8'
});
FB.AppEvents.logPageView();
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
答案 0 :(得分:1)
我昨天遇到了同样的错误,我们可以在第156行看到:
using System;
namespace Sum
{
public class Program
{
public static void Main(string[] args)
{
int number;
Console.WriteLine("number\t" + "square\t" + "cube");
Console.WriteLine("-----------------------------");
for (int i = 0; i <= 20; i += 2)
{
number = i;
int total = 0;
int k = 0;
do
{
Console.Write(number + "\t");
total += number;
number *= i;
k++;
} while (k < 3);
Console.WriteLine("Total is "+total);
Console.WriteLine();
}
Console.WriteLine("---------------------------------------");
}
}
}
因此,如果您在div class =&#34; fb-login-button&#34;上没有valide onlogin属性。如果我只是尝试使用:
,则不会声明此t函数 var s=i.getVal(r,'on_login'),
t=null,
u=this._iframeOptions.name;
if(s)
{
t=function v(w)
{
if(w.error_code)
{
j.debug('Plugin Return Error (%s): %s',w.error_code,w.error_message||w.error_description);
return;
}
h.invokeHandler(s,null,[w]);
};
this.subscribe('login.status',t);
}
我没有遇到这个问题,一切都是对的。