Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs React路由器中有多个可能的精确路径?_Reactjs_React Router V4 - Fatal编程技术网

Reactjs React路由器中有多个可能的精确路径?

Reactjs React路由器中有多个可能的精确路径?,reactjs,react-router-v4,Reactjs,React Router V4,我正在使用带有Switch语句的React路由器。有没有办法让我有多条精确路径 在本例中,id希望在路径为“/”或“/显示”时加载表组件,但不希望加载任何其他路径 <BrowserRouter> <Switch> <Route exact path="/" render={()=>{ return <Table shows={this.state.shows} /> }}/&g

我正在使用带有Switch语句的React路由器。有没有办法让我有多条精确路径

在本例中,id希望在路径为“/”或“/显示”时加载表组件,但不希望加载任何其他路径

    <BrowserRouter>
      <Switch>
        <Route exact path="/" render={()=>{
          return <Table shows={this.state.shows} />
        }}/>
        <Route exact path="/show/*" component={Show} />
        <Route component={FourOhFour} />
      </Switch>
    </BrowserRouter>

{
返回
}}/>

您可以在
路线中使用路径数组

<BrowserRouter>
      <Switch>
        <Route exact path='/(|show)' render={()=>{
          return <Table shows={this.state.shows} />
        }}/>
        <Route exact path="/show/*" component={Show} />
        <Route component={FourOhFour} />
      </Switch>
    </BrowserRouter>

{
返回
}}/>

编辑:更新代码以处理警告。

我相信您希望这样做的方式是。将
路线直接移动到要加载的组件中。因此,我认为观点应该发生轻微的转变。您可以将
添加到您知道将使用
/
/show
加载的组件中,而不是说
此处不显示
简单地使用相同的组件道具添加多个
组件就够了吗
@ReiDien是的,但以这种方式重复我自己的话会感觉很混乱。你可以使用映射功能。这可以工作,但我在控制台中收到一个错误:警告:失败的道具类型:无效的道具
路径
类型
数组
提供给
路由
,预期为
字符串
。现在更新代码以进行修复。但我认为他们即将在没有警告的情况下允许阵列。检查