У меня есть простое приложение реагирования с моим маршрутизатором ниже
index.tsx
import { HashRouter } from 'react-router-dom';
render(
<Provider store={store}>
<PersistGate loading={null} persistor={persistor}>
<HashRouter>
<AppContainer />
</HashRouter>
</PersistGate>
</Provider>, document.getElementById('app') as HTMLElement);
Мой AppContainer
const mapStateToProps = (state, ownProps) => {
console.log("The state is here and now ", state);
return {
account: state.account,
}
}
const mapDispatchToProps = (dispatch: Dispatch<any>) => {
return {
getUsers: () => dispatch(actions.fetchUser()),
}
};
export default withRouter<any>(connect(mapStateToProps, mapDispatchToProps, mergeProps)(AppComponent));
и мой метод рендеринга AppComponent переворачивается
render() {
return (
<div className="main-app">
<Route exact path='/' component={HomeContainer} />
<Route path="/login" component={LoginComponent} />
<Route path="/home" component={HomeContainer} />
<Route path="/about" component={AboutContainer} />
</div>
)
}
Мое приложение работало нормально, затем мы решили, что нам нужно использовать BrowserRouter.Простое изменение моего index.tsx на
import { BrowserRouter as Router, HashRouter } from 'react-router-dom';
render(
<Provider store={store}>
<PersistGate loading={null} persistor={persistor}>
<Router>
<AppContainer />
</Router>
</PersistGate>
</Provider>, document.getElementById('app') as HTMLElement);
нарушает мою маршрутизацию.Теперь он остается на первом маршруте независимо от.Я перепробовал все и где-то, кто-то предложил изменить мой publicPath в веб-пакете с пустого на /.Я еще ничего не изменил.Пожалуйста, что я пропускаю.Я перепробовал все, что еще не было.Любая помощь будет оценена.