【发布时间】:2021-09-16 14:14:39
【问题描述】:
我有一个使用 Rails API 作为后端的反应前端应用程序。当我尝试注册或注册时,或者即使我单击应用程序中的任何菜单链接,它也会重定向到单击的页面,并且一切正常,没有任何问题。但如果我尝试重新加载/刷新任何 url,它会给我 404 错误。在开发服务器中一切正常,但此问题仅出现在生产服务器上。
这是我的反应代码。 app.js
import React, { useState, useEffect } from "react";
import axios from "./Axios";
import { useHistory } from "react-router-dom";
import {
BrowserRouter as Router,
Route,
Switch,
Link,
Redirect,
withRouter,
} from "react-router-dom";
const App = () => {
const [loggedInStatus, setLoggedInStatus] = React.useState("NOT_LOGGED_IN");
const [user, setUser] = React.useState({});
const history = useHistory();
const [userName, setUserName] = React.useState("");
const handleSuccessfulAuth = (data) => {
handleLogin(data);
};
const handleLogin = (data) => {
if (data.status === "logged") {
setLoggedInStatus("LOGGED_IN");
setUser(data.user);
history.push("/view-profile"); //redirect to profile if loggedin
} else if (data.status === "created") {
history.push("/login"); //redirect to login page if regsitration successfull
}
};
return (
<div className="container-fluid app-container">
<Switch>
<Route path="/" exact={true} component={Home} />
<Route path="/login">
<Login handleSuccessfulAuth={handleSuccessfulAuth} />
</Route>
<Route path="/signup">
<Signup handleSuccessfulAuth={handleSuccessfulAuth} />
</Route>
<Route path="/view-profile">
<ProfileView job_seeker={user} />
</Route>
</Route>
<Route path="/basic">
<Basic logged_user={user} />
</Route>
</Switch>
</div>
);
};
export default App;
当我尝试刷新页面时给我 404 错误。
【问题讨论】:
-
当您尝试重新加载任何页面时?还有你得到的错误是什么
-
您能发布您遇到的错误类型吗?
-
方法handleSuccessfulAuth定义在哪里?
-
handleLogin 是在哪里定义的?
-
@Nemanja handleSuccessfulAuth 工作正常。没问题。如果我尝试刷新页面,则会出现 404 错误。
标签: reactjs