【发布时间】:2017-09-21 00:00:08
【问题描述】:
使用 react-router-dom 时,我是否可以通过在 URL 中手动输入路径来创建路由并导航到它?
const App = () =>
<Provider store={store}>
<Router>
<div>
<Route exact path="/" component={QuotesLandingPage} />
<Route path="/prequote" component={LoadingSpinner} />
</div>
</Router>
</Provider>;
所以,我将在本地主机上,当我在 navbar 中手动键入“/prequote”到 url 的末尾时,它不会重定向到我指定的组件,而是会抛出一个404.
这是预期的行为吗?
我一直在寻找答案,并看到一些建议将 webpack(我正在使用 webpack)配置为具有 devServer.historyApiFallback = true 应该可以工作,但它对我没有用。
【问题讨论】:
-
你使用的是哪个版本的 react-router-dom?
-
@TaylorKing 我正在使用 v4.1.1
-
我假设您的导入语句如下所示:
-
从 'react-router-dom' 导入 { BrowserRouter as Router };
-
这显然是您的开发服务器上的问题。如果不查看您的开发服务器配置,将无济于事。基本思想是让它工作,你的服务器应该总是用 index.html 响应任何 url。
标签: react-router react-router-redux react-router-dom