我使用的是React路由器V4,我有此路由器的配置:
<Router history={customHistory}>
<Switch>
<Route exact path={`/:lng?`} component={Page} />
<Route path={`/:lng?/firstUrl`} component={Page}/>
<Route path={`/:lng?/secondUrl`} component={Page}/>
<Route component={NoMatch} />
</Switch>
</Router>
lng
是可选的语言参数,它应该与模式匹配,例如en
、de
或不匹配。例如,应用程序利用这些路由:
www.website.com/en
www.website.com/en/
www.website.com/ - will load default lang
www.website.com - will load default lang
www.website.com/de
www.website.com/de/
另外,我还有一个额外的组件,在其中我定义了函数的路由:
<ModalRoute component={SomeURL} path={`/:lng?/SomeURL`} parentPath={`/${lang}/`} />
<ModalRoute component={SomeURL2} path={`/:lng?/SomeURL2`} parentPath={`/${lang}/`} />
因此,我希望实现的结果是,只接受允许的语言代码(和空参数),而不接受的代码将被重定向到NoMatch
组件。
可能吗?如何实现这一目标?
非常感谢这个例子
您可以在路径中使用正则表达式。
对于具有指定选项的必需参数:
<Route path="/about/:lang(en|de)/" exact component={About}/>
对于可选参数:
<Route path="/about/:lang?/" exact component={About}/>
用于具有指定选项的可选参数
<Route path="/about/:lang(en|de)?/" exact component={About}/>
供进一步阅读
问题内容: 我正在获取月份号作为输入。我成功地将UITextField中的字符数限制为2。但是我希望用户仅输入来自的值,而不要输入其他值。当用户键入数字时,即必须同时进行。如果我使用简单的条件检查每个字符并部分返回false,则文本字段将不允许我使用clear或重新键入其他任何字符。谁来帮帮我。 问题答案: 将键盘类型设置为数字键盘 加上这个
我试图只允许某些ip地址访问注册路由,但我得到类型错误: 传递给App\Http\Controller\Auth\AuthController的参数1必须是Illumate\Http\Request的实例,没有给出,在第19行的目录\供应商\laravel\框架\src\Illumate\Foundation\Auth\注册sers.php中调用 这是我在中的方法: 有人知道我将如何做到这一点吗?
我创建了一个Treeview(javafx),它看起来像: 我现在想要的是,只有“tour”-树项是可选择的。但我不知道怎么做。 我已经用ChangeListener尝试过了,但我只能用它刷新选项卡(TabPane)的内容...刷新很好...但是可以选择“delivery”-TreeItems:(
这个问题被问了好几次,我花了好几个小时来研究答案。但是,我无法使我的代码正常工作。问题就在这里。 我有一个组件,它是一个包装器。我有多个组件作为子组件进入组件。 在我的组件中,我想创建一个新的子数组,它只由组件组成。我只想忽略其他一切。同时在控制台上显示一些警告,除了组件子元素之外的任何内容都将被忽略,这很好,但无论如何,这在这一点上并不重要。 问题是,我正在使用TypeScript,无法访问。
我一直在捕捉非数字时遇到问题。 我试过了,但抓不住。如果我让它捕获非数字,但不让用户再次尝试输入。。。它完全停止了我的代码。 这是我的密码:
我用Spring靴和Spring安全。 我这样添加基于url的安全性 有没有办法只授权get、post、put…在url上担任某些角色?