我有一個連接到 Flask 后端的 React 應(yīng)用程序。我一直在努力進(jìn)行身份驗證。我有一個用戶在成功登錄后被重定向到的頁面。但是,我正在嘗試獲取它,以便如果用戶在未登錄的情況下導(dǎo)航到此路徑,他們將被重定向到登錄頁面。此功能似乎有效,但它調(diào)用了我的后端 API 三次,我不確定為什么。function Overview() { const [userName, setUserName] = useState(""); const history = useHistory(); const location = useLocation(); function checkLocation() { try { let comingFrom = location.state.comingFrom; const token = location.state.token; var login = token + ":unused"; fetch("http://127.0.0.1:5000/api/resource", { headers: { Accept: "application/json", "Access-Control-Allow-Origin": "*", "Content-Type": "application/json", Authorization: "Basic " + Buffer.from(login).toString("base64"), }, }) .then((response) => response.json()) .then((data) => { setUserName(data["data"]); }); } catch(error) { history.push({ pathname: "/login" }); } } checkLocation(); return <h1>{userName}</h1>;}export default Overview;有人可以建議為什么它被調(diào)用三次嗎?
React Fetch API 在頁面加載時被多次調(diào)用
蕭十郎
2023-03-24 17:15:08