Реагировать что-то не так с маршрутизатором - PullRequest
1 голос
/ 05 апреля 2020

Я новичок в реагировании на избыточность и создании моего первого веб-приложения.

Поэтому я создал Router и добавил указанные страницы c:

   <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 ]

1 голос
/ 05 апреля 2020

Передайте «точный» в качестве реквизита:

<Route path="/" exact><Home /></Route>
0 голосов
/ 05 апреля 2020

Как я всегда напоминаю своим студентам .. <Switch /> и exact в основном являются альтернативами друг другу ..

Если у вас более 2 или 3 маршрутов .. go для <Switch/> , exact prop подходит только для однократного использования.

У меня есть 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>
0 голосов
/ 05 апреля 2020

Итак, по своей природе маршрут соответствует первому пути. что вы должны сделать, это использовать «точный» в вашем первом пути.

 <Switch>
            <Route exact path="/">
                <Home />
            </Route>
            <Route path="/Info/:id/:name/:type">
                <Info />
            </Route>
        </Switch>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...