Я изучаю React.js. Я использую React Router версии 4.3.1 и React router dom 4.3.1.
Моя текущая структура приложения приведена ниже.
<React.Fragment>
{/* sidebar component */}
<SideBar store = {Mystore} />
<div className="main-panel">
{/* navbar component */}
<NavBar store = {Mystore}/>
{/* content component */}
<Content store = {Mystore}/>
{/* footer component */}
</div>
</React.Fragment>
в моем компоненте контента я настроил Маршрутизатор, как указано ниже.
<BrowserRouter>
<React.Fragment>
<Route exact path="/phoenix/public" component={Login} />
<ProtectedRoute exact path="/phoenix/public/sample" component={SamplePage} />
<ProtectedRoute exact path="/phoenix/public/view_ticket" component={ViewTicket} />
<ProtectedRoute exact path="/phoenix/public/create_ticket" component={CreateTicket} />
<ProtectedRoute exact path="/phoenix/public/dashboard" component={Dashborad} />
</React.Fragment>
</BrowserRouter>
Здесь ProtectedRoute - это функциональный компонент, который проверяет, прошел ли пользователь аутентификацию, и возвращает Маршрут
.
На моей боковой панели есть теги a , как показано ниже.
<li>
<a href="dashboard">
<i className="ti-panel" />
<p>Dashboard</p>
</a>
</li>
Моя цель - переходить по разным маршрутам без обновления страницы при нажатии на боковой панели. Но нажатие href перезагружает страницу, и все мое состояние в моих обновлениях Mobx обновляется. Я попытался Redirect , но не смог получить Маршрутизатор, который указан в компоненте «братья и сестры» (содержимое - это братья и сестры боковой панели). Я понятия не имею, как этого добиться.