reactjs - 为路线使用正则表达式而苦苦挣扎
问题描述
我正在使用 React Router 4。我只有一个组件(目前),我基本上希望路由匹配这个:
/
/home
/@prd78
在第三个的情况下,我希望@之后的部分成为一个参数。
我已经尝试过了,但这显然是错误的:
<BrowserRouter>
<Route path="/|home|product|@:ref(\w+)/" component={App} />
</BrowserRouter>
我可以有不同的路线,但在这种情况下,应用程序将被加载多次。
谢谢你的帮助。
解决方案
<Route exact path="/" component={App} />
<Route path="/home" component={App} />
<Route path="/@:ref" component={App} />
然后使用以下命令访问它们:
const App = ({ match }) => (
<div>
<p>Ref: {match.params.ref}</p>
</div>
);
推荐阅读
- vue.js - 如何修复@vue/cli 漏洞?
- laravel - 获取 [错误:请求失败,状态码为 500],同时将 POST 请求与对 laravel API 的本机反应
- javascript - 在每次更改数组 JS 后插入项目
- javascript - Odoo v12 javascript双rpc调用问题
- java - 为什么不能设置“自定义”类的属性(在java(7)中)?
- java - Spring REST API 在响应中添加额外的键值对
- json - 调用模板返回“提供的元素名称是零长度字符串”
- python - 无法使用 python 启动 selenium 会话
- python - Python memory_profiler:@profile 不适用于多线程
- django - Mpesa 对象没有属性“更新”