#javascript #reactjs #react-router
#javascript #reactjs #react-маршрутизатор
Вопрос:
Я искал и пытался некоторое время, однако я не мог найти ответа, можно ли использовать MemoryRouter только для определенных маршрутов, в то время как я использую BrowserRouter в целом. Я хочу перейти к определенному компоненту, но не изменять URL, попробовал так, но он изменяет URL, но не отображает компонент, полная противоположность тому, что я желаю.
<BrowserRouter>
<Switch>
<Route path="/login" component={Login} exact />
<Route path="/" component={MainPage} />
<MemoryRouter>
<Route
path='/somecomponent'
component={SomeComponent}
/>
</MemoryRouter>
</Switch>
</BrowserRouter>
Ответ №1:
Маршруты внутри MemoryRouter относятся к MemoryRouter, а не к вашему текущему местоположению, как показано в строке URL.
Что касается текущего маршрута "/"
, и он будет отображать только компоненты <Route path="/">
. Если бы вы добавили
<Route path="/">
<Redirect to="/somecomponent" />
</Route>
непосредственно под MemoryRouter
ним следует перейти к пути, который вы ищете, и отобразить, как задумано.