【发布时间】:2020-06-11 07:30:46
【问题描述】:
每当我在此页面时路由到 /supportservice/settings 页面 加载 404 页面会在一段时间后出现在屏幕上 /supportservice/settings 页面将出现在屏幕上。 当我路由到 /supportservice/settings 时,我已尽力使 404 页面停止显示。 supportservice 有后端数据获取,这需要一点时间,同时在屏幕上加载 404 页面呈现,在获取数据后一段时间内支持服务贷方。这几天我一直在做这个。
import React, { Suspense } from 'react';
import { BrowserRouter as Router, Switch, Route } from 'react-router-dom';
import Loader from './loader';
import AuthProvider from './authContext';
const SupportServiceDashboard = React.lazy(() =>
import('../components/support-service/Dashboard/supportServiceDashboard')
);
const PrivateRoute = React.lazy(() =>
import('./privateRoute')
);
const SupportServiceConfirmationPage = React.lazy(() =>
import('./adminConfirmationPage')
);
const SupportServiceResetPassword = React.lazy(() =>
import('../components/support-service/registration/resetPassword')
);
const PersonnelDashboard = React.lazy(() =>
import('../components/personnel/home/personnelDashboard')
);
const Signup = React.lazy(() =>
import('../components/personnel/registration/signUp')
);
const SignIn = React.lazy(() =>
import('../components/personnel/registration/signIn')
);
const ResetPassword = React.lazy(() =>
import('../components/personnel/registration/resetPassword')
);
const ForgetPassword = React.lazy(() =>
import('../components/personnel/registration/forgetPassword')
);
const SupportServiceSignUp = React.lazy(() =>
import('../components/support-service/registration/supportServiceSignUp')
);
const SupportServiceSignIn = React.lazy(() =>
import('../components/support-service/registration/supportServiceSignIn')
);
const SupportServiceForgetPassword = React.lazy(() =>
import('../components/support-service/registration/supportServiceForgetPassword')
);
const ConfirmPage = React.lazy(() =>
import('./confirmPage')
);
const SupportServiceNavBar = React.lazy(() =>
import('../components/support-service/supportServiceNavbar')
);
const ManageTimesheet = React.lazy(() =>
import('../components/support-service/Manage-timesheet/ManageTimesheet')
);
const SupportServiceSettings = React.lazy(() =>
import('../components/support-service/settings_page/supportServiceSettings')
);
const PersonnelList = React.lazy(() => import('../components/support-service/settings_page/personnel-list'));
const PageNotFound = React.lazy(() => import('../utils/pageNotFound'));
const ClientList = React.lazy(() => import('../components/support-service/settings_page/clientList'));
function Routes() {
const change = true;
return (
<div className="App">
{/* <Nav /> */}
<Router>
<AuthProvider>
<Switch>
<Suspense fallback={<Loader />}>
<Route exact path="/" component={SignIn} />
<Route exact path="/signup" component={Signup} />
<Route exact path="/login" component={SignIn} />
<Route exact path="/forgotpassword" component={ForgetPassword} />
<Route exact path="/passwordreset/:id" component={ResetPassword} />
<Route exact path="/supportservice/passwordreset/:id" component={SupportServiceResetPassword} />
<Route exact path="/supportservice/signup" component={SupportServiceSignUp} />
<Route
exact
path="/supportservice/login"
component={SupportServiceSignIn}
/>
<Route
exact
path="/login/:id"
component={ConfirmPage}
/>
<Route
exact
path="/supportservice/login/:id"
component={SupportServiceConfirmationPage}
/>
<Route
exact
path="/supportservice/forgotpassword"
component={SupportServiceForgetPassword}
/>
{/* <Route
exact
path="/pagenotfound"
component={PageNotFound}
/> */}
<Route
exact
path="/supportservice/forgotpassword"
component={SupportServiceForgetPassword}
/>
<Route
exact
path="/supportservice/nav"
component={SupportServiceNavBar}
/>
<Route
exact
path="/supportservice/manage-timesheet"
component={ManageTimesheet}
/>
<PrivateRoute exact path='/supportservice/dashboard' component={SupportServiceDashboard} role='support_service' redirect='/supportservice/login'/>
<PrivateRoute exact path='/dashboard' component={PersonnelDashboard} role='personnel' redirect='/login'/>
<PrivateRoute exact path='/supportservice/settings' component={SupportServiceSettings} role='support_service' redirect='/supportservice/login'/>
<PrivateRoute path='/supportservice/settings/personnel_list' component={PersonnelList} role='support_service' redirect='/supportservice/login'/>
<PrivateRoute path='/supportservice/settings/client_list' component={ClientList} role='support_service' redirect='/supportservice/login'/>
<Route component={PageNotFound} />
</Suspense>
</Switch>
</AuthProvider>
</Router>
</div>
);
}
export default Routes;
【问题讨论】:
-
这个“支持服务/设置”是否存在?如果存在,请检查拼写是否正确?
-
您将其重新路由到没有路由的 /supportservice/login ,因此它是 404?
-
我已经显示了完整的路线代码,你现在可以去查看完整的路线。看看你是否有解决问题的办法。谢谢
标签: javascript html reactjs react-redux react-router