使用react-router-dom时,是否应该能够通过在URL中手动输入路径来创建路径并导航至该路径?

const App = () =>
<Provider store={store}>
    <Router>
        <div>
            <Route exact path="/" component={QuotesLandingPage} />
            <Route path="/prequote" component={LoadingSpinner} />
        </div>
    </Router>
</Provider>;


因此,我将在localhost上,当我在/prequote中的url的结尾手动键入'navbar'时,它不会重定向到我指定的组件,而是抛出404。

那是预期的行为吗?

我一直在寻找答案,并看到一些建议,将webpack(我正在使用webpack)配置为具有devServer.historyApiFallback = true应该可以,但对我而言却无效。

最佳答案

也许您和我曾经一样对historyApiFallback感到困惑。我将引用https://webpack.github.io/docs/webpack-dev-server.html#the-historyapifallback-option


但是,如果您在Webpack配置中修改了output.publicPath,则需要指定要重定向到的URL。这是使用historyApiFallback.index选项完成的。

historyApiFallback: {
  index: '/foo-app/'
}



就我而言,我最终通过将historyApiFallback选项更改为:

historyApiFallback: {
    index:'dist/'
},


将其视为index:'dist / index.html',而不是devServer抛出404。

干杯

07-28 13:37