我在管理部分使用嵌套的react-router,以避免在人们与"常规"进行交互时加载管理部分。前端。
<Switch>
<Route
exact
path="/"
component={() => (
<HomeRoute
goApiId={goApiId}
fbAppId={fbAppId}
juicerId={juicerId}
s3Url={s3Url}
url={url}
/>
)}
/>
<Route
path="/admin"
render={props => {
const AdminRoutes = require('./AdminRoutes').default;
return <AdminRoutes {...props} />;
}}
/>
[...]
</Switch>
管理部分本身也包含Switch
声明。
const AdminRoutes = () => (
<Switch>
<PrivateRoute
path="/admin/videos"
component={AdminVideosRoute}
key="route-videos"
/>
<PrivateRoute
exact
path="/admin"
component={AdminHomeRoute}
key="route-home"
/>
</Switch>
);
非管理员路线上的所有导航都可以正常工作。但是,当我在管理员中导航时,即使位置发生变化也没有任何反应。这看起来像是一个阻止的更新。
所有Route组件都使用withRouter
作为导出的首选方法,与非管理员前端相同。
有关如何消除此问题的任何建议吗?