【发布时间】:2021-01-16 03:13:54
【问题描述】:
我在使用路径参数导航反应路由器时遇到问题
这是我的设置
render() {
return (
<Switch>
<Route path={Routes.PASSWORD_RECOVERY} component={ForgotPasswordView}/>
<Route path={Routes.VERIFY_EMAIL} component={VerifyEmailView}/>
<Route path={Routes.LOGIN} component={LoginView}/>
<Route path={Routes.SIGN_UP} component={SignUpView}/>
<Route path={Routes.VERIFY_RESULTS} component={VerifyGames}/>
<Route path={Routes.HOME} component={Home}/>
<Route path={Routes.WELCOME} component={Welcome}/>
<Route exact path={Routes.DEFAULT} component={DefaultHome}/>
<Route component={DefaultHome}/>
</Switch>
);
}
这是我的路线
static readonly SIGN_UP = "/signup";
static readonly LOGIN = "/login";
static readonly PASSWORD_RECOVERY = "/password_recovery";
static readonly VERIFY_EMAIL = "/verify_email";
static readonly HOME = "/home";
static readonly WELCOME = "/welcome";
static readonly VERIFY_RESULTS = "/verifier";
static readonly DEFAULT = "/";
现在,我希望能够导航到路径路径 /verifier 上的验证游戏组件。
如果我只导航到 /verifier 它可以工作,但如果我附加路径参数它不会导航。
所以,/verifer 有效,但 /verifier?name=mekings&&age=25 失败并始终重新路由回 DefaultHome 组件
为什么?
【问题讨论】:
-
您能否提供您的 ENUMS 路径,以便我们更清楚
Switch匹配路径的依据?我没有看到任何明显的问题。您能否将您的代码复制到一个最小的可重现示例running 代码框并在您的问题中链接? -
您正在使用
仅呈现第一个匹配的路由。确保 /verifier?name=mekings&&age=25的路线高于/verifier的路线。
标签: reactjs react-router-dom react-router-v4