javascript - 如何在不重新加载的情况下在 react 路由器 v4 中推送路由

标签 javascript reactjs tabs react-router-v4 antd

我试图在选项卡单击时执行转换,但我不希望重新加载完整的应用程序。我正在使用 Ant 设计标签

这是我的代码片段

<Tabs activeKey={activeKey} onChange={props.onTabChange}>
  {tabs.map(tab => <TabPane tab={tab.name} key={tab.key} />)}
</Tabs>

onChange 回调
onTabChange = activeKey => {
  const url = `/${activekey}`;
  history.push(url);
  ...
};

但这会导致我不想要的完整应用程序重新加载。我试过 Link 但没有成功。我已经浏览过 React router change url without page reload但也不清楚问题链接是 2 年前的可能是某种方式。

最佳答案

看起来您正在使用 windows.history (全局浏览器 history 变量)。此 导致重新加载。

您应该使用 this.props.history .

关于javascript - 如何在不重新加载的情况下在 react 路由器 v4 中推送路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50725465/

相关文章:

javascript - 意外的标记,循环对象时应为 ","

reactjs - React prop数组长度返回0

javascript - 使用RxJS和axios,如何在React组件中获取onClick数据?

ajax - jQuery UI 选项卡 : How to switch to a (ajax) tab without reloading it?

javascript - .mouseleave() 和 .mouseenter() 问题

Javascript 获取变量问题

JavaScript 变量数学

javascript - 在 javascript 中将坐标存储为 2D 矢量类

javascript - 如何停止由 chrome.tabCapture API 在 chrome 中启动的捕获媒体流

iOS Tabs 相互交谈