![](/img/trans.png)
[英]React Native and Firebase: how to limit number of times data are fetched
[英]How to pause render until the data is fetched in react
我是新手,遇到了這個問題。
import React from "react"; import firebase from "firebase"; import fire from "./firebase" import { Route, BrowserRouter as Router, Switch, Redirect, useHistory, NavLink } from 'react-router-dom'; import Header from "./header" import Nav from "./nav" import data from "./data" function Home(){ let userID; let userName; let logg; const history = useHistory(); firebase.auth().onAuthStateChanged((user)=>{ if(user){ userID = user.uid }else{ history.push("/login") } }) return( <> <Header /> <Nav /> <div id = "home" className ="main"> <div class = "headingCont"> <h1>This is home</h1> <NavLink to = {"users/"+userID}><p>Your Profile</p></NavLink> </div> </div> </> ) } export default Home
我正在從 firebase 獲取用戶 ID,但它會快速呈現 jsx,因此 userID 的值仍未定義。 因此,當我單擊“您的個人資料”時,它轉到用戶/未定義而不是用戶/“用戶 ID”,我該如何解決?
您應該使用 state 作為userId
而不是 scope 變量。
const [userID, setUserID] = useState(null)
firebase.auth().onAuthStateChanged((user) => {
if (user) {
setUserID(user.uid)
} else {
history.push('/login');
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.