我在我的网站上使用React Router。
问题是,当访问者没有任何网站数据被缓存并导航到https://domain/myroute
时,它们将被重定向到我设置的404组件。
但是,如果他们先导航到https://domain/
然后输入https://domain/myroute
,它就可以正常工作。
我猜问题是组件的延迟加载?不确定如何设置,因此在首次访问时可以直接导航到路线。
这是我app.jsx文件中的路由器逻辑。
export default class App extends Component {
render() {
return (
<div>
<Switch>
<Route exact path="/" component={MainPage} />
<Route exact path="/myroute" component={MyRoute} />
</Switch>
</div>
);
}
}
,这样App组件就在index.js中使用。
ReactDOM.render((
<Provider store={storeInstance}>
<BrowserRouter basename={process.env.DEPLOY_BASE_URL === 'gh-pages' ? "/repository-name" : "/"}>
<App />
</BrowserRouter>
</Provider>),
document.getElementById('root')
);