我正在尝试使用react-router-redux在我的create-react-app中实现最小路由。文档表明,如果不使用 create-react-app,则需要配置 Webpack 以使 url 刷新按预期工作(与"历史回退"相关的设置(,但如果使用 create-react-app,这应该会自动工作。但是,在我的开发环境中,url 刷新未按预期工作。详细信息:如果我进行页面刷新时浏览器中第二个路由的 url 是最新的,那么第二个路由将重新加载,而我本来希望主路由(路径为"/"(会加载。我的索引.js包括以下内容:
render(
<Provider store={store}>
<ConnectedRouter history={history}>
<div>
<Route exact path="/" component={MyHomeComponent} />
<Route exact path="/roster" component={Roster} />
</div>
</ConnectedRouter>
</Provider>,
document.getElementById('root')
(
这可能是文档错误,还是我忘记了代码中的某些内容? 非常感谢建议。
刷新应保持相同的路径名,而不是重置为 root。
我不确定您为什么要在刷新时转到根目录,但是您完成此操作的方法是在加载应用程序时手动导航。
import { createBrowserHistory } from 'history'
const history = createBrowserHistory()
history.replace('/')
ReactDOM.render((
<Provider>
<ConnectedRouter history={history}>
...
</ConnectedRouter>
</Provider>
), holder)