我想知道为什么这些值没有记录到控制台。 我想访问结果对象,然后使用useState挂钩设置用户。每当我单击登录按钮时。它不会将任何内容记录到控制台。只需登录用户,但我想访问存储在此处的用户名属性(result.additionalUserInfo.username) 请帮助我解决这个问题
console.log(result.additionalUserInfo.username);
console.log(result.additionalUserInfo.profile);
这是我的代码
import React, { useState,useContext } from 'react'
import { createContext } from 'react';
import { useEffect } from 'react';
import {auth} from '../config/fbConfig'
const AuthContext = createContext();
export const useAuth = () => {
return useContext(AuthContext);
}
export const AuthProvider = ({children}) => {
const [currentUser, setCurrentUser] = useState();
const [loading, setLoading] = useState(true);
const provider = new auth.GithubAuthProvider();
// provider.addScope('user');
const githubSignIn = () => {
// return auth().signInWithRedirect(provider);
auth().signInWithRedirect(provider)
.then(function(result) {
console.log(result.additionalUserInfo.username);
console.log(result.additionalUserInfo.profile);
})
.catch(function(error) {
// Some error occurred.
console.log(error)
});
}
const githubSignOut = () => {
return auth().signOut();
}
useEffect(() => {
const unsubscribe = auth().onAuthStateChanged(user => {
// setCurrentUser(user);
setLoading(false);
})
return unsubscribe
}, [])
const value = {
currentUser,
githubSignIn,
githubSignOut
}
return (
<AuthContext.Provider value={value}>
{!loading && children}
</AuthContext.Provider>
)
}
请帮助我解决这个问题。