react-router 4 使用history(go、push等操作)、浏览器回退、前进无法切换路由

发布于 2022-09-06 23:43:27 字数 1282 浏览 16 评论 0

class App extends Component {
  render() {
    return (
      <Provider {...store}>
        <HashRouter basename="/">
          <Layout/>
        </HashRouter>
      </Provider>
    );
  }
}

Layout内部的代码

<Layout.Content className='content'>
  <Routes />
</Layout.Content>

Routes代码

import React from 'react';
import loadable from 'react-loadable';
import { Switch, Route } from 'react-router-dom';

import Home from './page/home.jsx';

const AsyncGroup = loadable({
  loader: () => import(
    /* webpackChunkName: "group" */
    './page/group.jsx'
  ),
  loading: Loading,
});
function Loading() {
  return <div>Loading.....</div>;
}
const Routes = () => (
  <Switch>
    <Route exact path="/" component={Home} />
    <Route path="/group" component={AsyncGroup} />
    {/* <Redirect from="*" to="/404" /> */}
  </Switch>
);

export default Routes;

使用Link可以正常切换路由,上面提到的操作无法切换

clipboard.png

请问,router.history是否是Router内的history,
为什么Link可以让两者同时变化,上面的操作却不行

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文