React-Router 5 - резервное перенаправление BrowserRouter на странице refre sh, только если совпадения нет - PullRequest
0 голосов
/ 20 июня 2020

Пока я не смог найти способ перенаправить на /home, если маршрутизатор не соответствует, при обновлении страницы. Если вы набираете Bar и обновляете sh, вы всегда будете go на /home вместо Bar. Без redirect вы можете обновить sh и остаться на Bar. Есть ли способ узнать, когда Switch не соответствует ни одному из определенных маршрутов?

<Switch> 
    <Route path={ '/foo' }>
        <Foo />
    </Route>
    <Route path={ '/bar' }>
       <Bar />
    </Route>                          
    <Route path={ '/home' }>
        <Home />
    </Route>
    <Route path={ '/' }>
        <Redirect to={ '/home' } />
    </Route>
</Switch>

1 Ответ

0 голосов
/ 20 июня 2020

Вы можете определить NotFoundComponent или перенаправить вручную на URL-адрес '/'. Попробуйте определить такие маршруты, тогда вы сможете перенаправить на страницу / 404, когда URL-адрес недействителен. Я думаю, это было бы лучшим решением.

<Switch>
    <Route path="/home" component={Home} />
    <Route path="/foo" component={Foo} />
    <Route path="/bar" component={Bar} />
    <Route path="/404" component={NotFoundComponent} />
    <Redirect to="/404" />
</Switch>

В вашем случае

<Switch>
    <Route path="/home" component={Home} />
    <Route path="/foo" component={Foo} />
    <Route path="/bar" component={Bar} />
    <Redirect to="/home" />
</Switch>

Надеюсь, это поможет вам понять!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...