React Router v5.0.1-在同一路径上渲染两个组件

时间:2019-08-17 18:26:28

标签: reactjs react-router

我已经设置了两条单独的路由,但是两条路由都针对localhost:3000呈现

我查看了关于同一问题的stackoverflow问题,但没有解决我的问题。

我已经将路由包裹在switch中,尝试改变路由的顺序,使用了精确值,并且还强制id只寻找数字。

已提及- React router v4 - Rendering two components on same route

但无法解决我的问题

import { BrowserRouter as Router, Switch, Route } from "react-router-dom";

render() {
    return (
      <Router>
        <Switch>
         <Route exact path="/" render={props => <Table stu={this.state} />} />
          <Route
            path={`/:id(\\d+)`}
            render={props => <Detail data={this.state} />}
          />
        </Switch>
      </Router>
    );
  }

Table和Detail组件都为localhost:3000呈现,而我只希望Table组件为localhost:3000呈现。

1 个答案:

答案 0 :(得分:0)

正如Ilya kovalyov在上面的评论中指出的那样-在我的Table组件的render方法中,我将道具传递给Detail组件,而Detail也在被渲染