第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

加載 React 應(yīng)用程序時如何設(shè)置 firebase auth onAuthState

加載 React 應(yīng)用程序時如何設(shè)置 firebase auth onAuthState

慕慕森 2021-06-29 17:01:19
我正在嘗試在我的頂級組件上設(shè)置Firebase 身份驗(yàn)證偵聽器App,以便authUser通過 React 上下文向所有其他組件提供對象。我目前正在這樣做:function App() {  console.log('Rendering App...');  const [authUser,setAuthUser] = useState(null);  const [authWasListened,setAuthWasListened] = useState(false);  useEffect(()=>{    console.log('Running App useEffect...');    return firebase.auth().onAuthStateChanged(      (authUser) => {        console.log(authUser);        console.log(authUser.uid);        if(authUser) {          setAuthUser(authUser);          setAuthWasListened(true);        } else {          setAuthUser(null);          setAuthWasListened(true);        }      }    );  },[]);  return(    authWasListened ?    <Layout/>    : <div>Waiting for auth...</div>  );}但我得到了日志輸出:Rendering App...Running App useEffect...似乎我正在設(shè)置偵聽器但它一開始沒有運(yùn)行,因此它沒有獲得當(dāng)前的身份驗(yàn)證狀態(tài)(它是空的,因?yàn)槲沂仓吝€沒有登錄表單)。似乎在等待改變的發(fā)生。不應(yīng)該首先authListener獲取當(dāng)前authUser狀態(tài),然后再聽更改嗎?我究竟做錯了什么?更新我已經(jīng)發(fā)現(xiàn)我做錯了什么。本useEffect應(yīng)該返回一個函數(shù)來清除聽眾unmount,而不是一個函數(shù)調(diào)用,因?yàn)槲蚁肷厦孀?。所以我的聽眾從來沒有被設(shè)置過。這現(xiàn)在按預(yù)期工作:useEffect(()=>{    console.log('Running App useEffect...');    const authListener = firebase.auth().onAuthStateChanged(      (authUser) => {        console.log(authUser);        console.log(authUser.uid);        if(authUser) {          setAuthUser(authUser);          setAuthWasListened(true);        } else {          setAuthUser(null);          setAuthWasListened(true);        }      }    );    return authListener;  // THIS MUST BE A FUNCTION, AND NOT A FUNCTION CALL  },[]);
查看完整描述

2 回答

?
繁星coding

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個贊

聽眾不是立即的。從第一次加載頁面開始,狀態(tài)更改可能需要一些時間。如果您想立即檢查用戶是否已登錄,您可以使用currentUser,但同樣,更新可能需要一些時間,因此偵聽器是更好的選擇。


查看完整回答
反對 回復(fù) 2021-07-01
  • 2 回答
  • 0 關(guān)注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號