【发布时间】:2021-01-17 04:50:34
【问题描述】:
我有一个路由设置,如果只给出 1 个参数,即 /:id,我希望路由器始终重定向到 /:id/overview。
例如,如果用户转到 /hello,我希望他们被重定向到 /hello/overview。
我试过这样做:
<Switch>
<Route exact path="/" component={NoParam} />
<Redirect from="/:section" to="/:section/overview" />
<Route exact path="/:section/:pageName" component={GeneralOverviewPage} />
</Switch>
这会导致无限重新渲染。我不确定如何实现此重定向,非常感谢任何帮助。谢谢。
编辑=======
现在尝试这样做:
const GeneralOverviewPage: FC<RouteComponentProps<GeneralOverviewPageProps>> = (
props
) => {
console.log(props);
return !props.match.params.pageName ? (
<Redirect to={props.match.params.section + '/overview'} />
) : (
<h1>{props.match.params.pageName}</h1>
);
};
export default GeneralOverviewPage;
和
<Route path="/:section" component={GeneralOverviewPage} />
<Route path="/:section/:pageName" component={GeneralOverviewPage} />
这意味着 /hello 现在正在重定向到 /hello/hello/overview....
【问题讨论】:
-
不是 React 专家,如果我错了,请原谅我,但您不想将确切的关键字添加到重定向吗?
-
还有;身份验证问题也可能导致此类问题
-
大家好,我想以编程方式使用传递给路由的部分
-
@Daniel,我尝试了其他方法(我将编辑 og 帖子)但仍然无法正常工作
标签: reactjs react-router