反应路由器出了点问题

时间:2020-04-05 06:54:53

标签: reactjs react-redux

我是新来响应redux并构建我的第一个Web应用程序的人。

因此我创建了Router并添加了特定页面:

   <Switch>
                <Route path="/">
                    <Home />
                </Route>
                <Route path="/Info/:id/:name/:type">
                    <Info />
                </Route>
            </Switch>

当我有path="/"path="/Info/:id/:name/:type"时,它不起作用。但是当我有类似的东西 path="/Home"path="/Info/:id/:name/:type",效果很好。我在做错什么吗?

3 个答案:

答案 0 :(得分:1)

通过“精确”作为道具:

<Route path="/" exact><Home /></Route>

答案 1 :(得分:0)

因此,就其本质而言,路由与第一条路径匹配。 您应该做的是在第一个路径中使用“精确”。

 <Switch>
            <Route exact path="/">
                <Home />
            </Route>
            <Route path="/Info/:id/:name/:type">
                <Info />
            </Route>
        </Switch>

答案 2 :(得分:0)

就像我总是提醒我的学生一样。<Switch />exact基本上是彼此的选择。

如果您有2条或3条以上的路线,请选择<Switch/>exact道具仅够一次使用。

我为您提供2个答案。

<Route exact path="/">
    <Home />
</Route>
<Route path="/Info/:id/:name/:type">
    <Info />
</Route>

只需更改路由顺序即可。.因为Switch仅采用第一个匹配项。

<Switch>
    <Route path="/Info/:id/:name/:type">
        <Info />
    </Route>
    <Route path="/">
        <Home />
    </Route>
</Switch>