reactjs - 匹配某个字符串或为空的可选路由路径
问题描述
我想使用匹配的路由器路径,/client
并且client/upload
完全为了Redirect
我的组件正确。我知道为了编写一个可选参数,你会这样写
<Redirect exact from={`${match.path}(/:id)?`} to={`${match.url}/upload/view`} />
但是现在我希望我的路径参数只能被限制为上传,所以我这样写
<Redirect exact from={`${match.path}/:id(|upload)`} to={`${match.url}/upload/view`} />
它从“/client/upload”重定向${match.path}/
到${match.path}/upload/view
正确但不适用于${match.path}
.
我也试过${match.path}(/:id(|upload))?
,,${match.path}/?:id(|upload)'
但${match.path}(/upload)?
没有一个工作
我想${match.path}
,${match.path}/
并${match.path}/upload
重定向到'${match.url}/upload/view
。
现在我正在写两个不同的重定向,比如
<Redirect exact from={match.path} to={`${match.url}/upload/view`} />
<Redirect exact from={`${match.path}/upload`} to={`${match.url}/upload/view`} />
但我真的很想只写一篇Redirect
。
非常感谢任何帮助。
解决方案
<Redirect exact from='/client(/upload)?' to='/client/upload/view' />
这应该可以解决您的问题,因为它说完全匹配/client
并且/client/upload
将被重定向到参数中定义的路径。
推荐阅读
- python - 使用 ENTER 将焦点移动到下一个 QLineEdit
- python - Pytorch:交叉熵的维度是正确的,但对于 MSE 来说却是错误的?
- java - 堆转储的java进程问题的systemd
- linux - 通过内核读取物理地址中的值
- c - CODEVITA“相似字符”如何降低我在c中的时间复杂度?
- python - 如何使用整数除法(//)访问 numpy python 中的中间行和列
- javascript - 显示特定的setTimeout() 处的内容
- compiler-construction - 语法错误的处理如何涉及解析器和词法分析器的使用?
- c# - 如何使用 SqlCommand 搜索具有多个输入的数据
- python - 基于矩阵数据框创建字典