Это известная проблема маршрутизации реагирования. но у меня нет решения за последние две недели. это большая проблема, и я надеюсь, что любой ответ на это сердечно. У меня есть три компонента, такие как Admin.js, AdminReview.js и AdminDashboard.js, как показано ниже.
Вот мой файл index.js.
index.js
<Provider store={store}>
<BrowserRouter basename="/">
<App/>
</BrowserRouter>
</Provider>
Файл Admin.js находится в файле App.js, там есть Admin.js и у него есть маршрутизация.
Admin.js
return(
<div>
<BackdropLoading show={this.props.result} />
<Switch>
<Route path="/interactions" component={AdminReview} />
<Route path="/" exact component={AdminDashbord} />
</Switch>
</div>
)
Я использовал redux в моем файле Admin.js, как показано ниже.
export default connect(mapStateToProps, mapDispatchToProps)( Admin);
AdminReview.js и AdminDashboard.js - это обычные файлы, но используются redux, как показано ниже.
export default withRouter(connect(mapStateToProps, mapDispatchToProps)(AdminReview));
export default withRouter(connect(mapStateToProps, mapDispatchToProps)(AdminDashbord));
withRouter - это компонент более высокого порядка, и он импортирует с помощью
реагировать-маршрутизатор-дом
для предотвращения обновления блока согласно документации по реакции.
Я использовал навигационную панель для перехода к указанным выше маршрутам. Это мой файл AdminNavbar.js.
AdminNavbar.js
<form className="form-inline my-2 my-lg-0">
<ul className="navbar-nav" style={{float: 'right',marginBottom:'-10px'}}>
<li id="reviewId" className="nav-item" style={liStyle}>
<Link to="/interactions" onClick={this.reviewClick}
className="nav-link js-scroll-trigger"
style={linkStyle}>
<small>Interactions</small>
</Link>
</li>
<li id="reportId" className="nav-item"
style={{cursor: 'pointer', float: 'right', borderBottom: '1px solid transparent'}}>
<Link to="/report" onClick={this.reportClick}
className="nav-link js-scroll-trigger"
style={linkStyle}>
<small>Reports</small>
</Link>
</li>
<li className="nav-item"
style={{cursor: 'pointer', float: 'right', paddingTop: '7px'}}>
<img src={dollerIcon} alt="icon" style={{width:'20px'}}/>
</li>
<li id="dashbordId" className="nav-item" style={{
cursor: 'pointer',
float: 'right',
borderBottom: '1px solid transparent',
paddingTop: '2%'
}}>
<ProfileDropdown user="admin"/>
</li>
</ul>
</form>
AdminNavbar также использовал сокращение, как показано ниже.
export default withRouter(connect(mapStateToProps, mapDispatchToProps)(AdminNavbar));
В настоящее время я читаю больше статей, связанных с этим, но я не могу исправить эту проблему. пожалуйста, кто-нибудь может помочь решить это?