我正在学习 React。我的页面有 4 个子页面,我使用 React Router 浏览这些页面。除了重新加载页面外,一切正常。当我从“主页”页面转到“关于”页面或其他页面时,没问题,但是当我刷新页面时,它会再次呈现“关于”页面一秒钟,然后将页面更改为主页(主页是默认/第一页)。我希望它停留在当前呈现的页面上,而不是在每次刷新后返回主页。 index.js 文件中有我的代码,我在其中呈现整个应用程序并使用路由器:
<Provider store={store}>
<Router path="/" history={browserHistory}>
<Route path="/home" component={App}>
<Route path="/" component={Home}/>
<Route path="/allhotels" component={AllHotels}/>
<Route path="/addhotel" component={AddHotel} />
<Route path="/about" component={About} />
</Route>
<Route path="/signin" component={SignIn} />
<Route path="/signup" component={SignUp} />
</Router>
</Provider>, document.getElementById('root')
在“应用程序”中,我有导航,在那里我呈现来自 Home、AllHotels 等的其余内容。
有来自 App.jsx 的代码
class App extends Component {
render() {
return (
<div className="app-comp">
<Navigation />
<div> {this.props.children}</div>
</div>
)
}
}
我还附上了显示我的问题的 gif。
在后端,如果它很重要,我会使用 Firebase。
提前致谢。
原文由 Skylin R 发布,翻译遵循 CC BY-SA 4.0 许可协议
检查 firebase 是否不干扰客户端路由:P
您可以使用索引路由来实现这一点。
你有你的导航,即你的应用程序组件中所有页面的布局,所以让它成为根路由。
然后你想让你的家路线成为你的默认路线,所以让它成为你的索引路线。
您需要从 react-router 包(从中导入路由)导入 IndexRoute。
添加这个-
然后像下面这样制作你的路线。
用这个-