当前位置: 首页 > 知识库问答 >
问题:

React-router根端的可选路径参数

劳和雅
2023-03-14

我对如何从根开始做(多个)可选路径参数有点困惑。我用的是React-Router3和Redux4.3。

据我所知,(/:param1)(/:param2)应该可以工作,但在加载应用程序时,我遇到了以下错误:

import React from 'react';

import ReactDOM from 'react-dom';

import { Provider } from 'react-redux';

import { Router, browserHistory, Route } from 'react-router';

import { syncHistoryWithStore } from 'react-router-redux';

import configureStore from './store/configureStore';

import {MyContainer} from "./containers/MyContainer";

const store = configureStore();
const history = syncHistoryWithStore(browserHistory, store);

ReactDOM.render(
    <Provider store={store}>
        <Router history={history}>
            <Route path="/(/:Type)(/:Id)" component={MyContainer}/>
        </Router>
    </Provider>,
    document.getElementById('root'),
);
path="(/:Type)(/:Id)" 
path="(/:Type)/(/:Id)" 
path="/(/:Type)/(/:Id)" 
path="/(/:Type)(/:Id)" 
path="/:Type/:Id" // Only works when params are supplied
<Route path="/test(/:Type)(/:Id)" component={MyContainer}/>
<Route path="/(/:Type)(/:Id)" component={MyContainer}/>

共有1个答案

严阳成
2023-03-14

今天也有同样的问题。我是这样解决的:

<Route path="/(:param1)(:/param2) component={SomeComponent}"
 类似资料:
  • 假设我有以下两条路线: 现在,当我尝试点击路由的根路由为与参数被触发... 我假设解决方案是在param1前面设置一个问号,就像这样,这样它就可以从路由中保持住,但我不知道如何在react router v4中做到这一点

  • 问题内容: 我正在尝试通过我的应用程序建立路由器链接, 在这种情况下,我有三个文件。 我在Book的内部建立了一个仅在悬停时才会出现(在书的封面上) 这将带我到/ details / 12345(isbn10号) 我很难理解的是例如在按下时如何 操作,或者是否可以在以后使用零件创建像过滤器一样的方法 由于在将安装成… 后来,我想抓住它,这样我就可以将自己的内部 问题答案: 为了在您的组件中接收路径

  • 我有点被路线部分卡住了。想象一下,我有两条路线,它们有自己的路径: /person/add应该显示一个表单,在那里我可以创建一个新的Person /人/: id应该显示一个具有给定id的人。 问题 有没有办法让我避免这种情况?例如,通过告诉:id应该是一个数字?

  • 我正在使用react路由器。我想检测我来自哪里的上一页(在同一应用程序中)。我的上下文中有路由器。但是,我在路由器对象上没有看到任何属性,如“先前路径”或历史记录。我该怎么做?

  • 问题内容: 我想用可选的path参数声明一个路径,因此当我添加它时,页面会做一些额外的事情(例如,填充一些数据): http:// localhost / app / path / to / page <=渲染页面 http:// localhost / app / path / to / page / pathParam <=根据pathParam使用某些数据渲染页面 在我的React Rout