Reactjs 不带链路的组件功能中的反应设置路由

Reactjs 不带链路的组件功能中的反应设置路由,reactjs,react-router,Reactjs,React Router,在我的react应用程序中,当我单击“添加新选项卡”时,我调用“addNewproject”函数 <button onClick={() => this.addNewproject() }>Add New Tab</button> 如何将其添加到URL?我参考了几篇文章,但它们都说使用了一个让我感到困惑的组件。您要查找的是历史对象,它作为道具传递给路由中包装的组件 添加新项目后,应使用push或replace方法按历史重定向用户,如下所示: history.pu

在我的react应用程序中,当我单击“添加新选项卡”时,我调用“addNewproject”函数

<button onClick={() => this.addNewproject() }>Add New Tab</button>

如何将其添加到URL?我参考了几篇文章,但它们都说使用了一个让我感到困惑的组件。

您要查找的是
历史
对象,它作为道具传递给
路由
中包装的组件

添加新项目后,应使用
push
replace
方法按历史重定向用户,如下所示:

history.push(`${history.location.pathname}?TabId=${newTabID}`)
试试这个:

  <script src="https://unpkg.com/react-router/umd/react-router.min.js"></script>
  <script src="https://unpkg.com/react-router-dom/umd/react-router-dom.min.js"></script>


import React,{Component}from'React
从“react router”导入{withRouter}
类RouteComp扩展组件{
导航=()=>{
这个。道具。历史。推({
路径名:'/pathname',
搜索:'?TabId=`${this.state.newTabId}'
})
}
渲染(){
导航
}
}
使用路由器导出默认值(RouteComp);

谢谢。如何使用CDN的历史记录?我用过你能不能把它转换成使用UMD脚本标记时使用的代码。我收到“history.push不是函数”错误。我使用的是非CRA环境,只是使用脚本标记。因此不确定如何使用顶部的“导出默认路由器(RouteComp);“我已完成”var browserHistory=window.ReactRouterDOM.browserHistory;”。在“addNewproject”函数中,我使用的是“history.push”(“URL\u WITH\u NEW\u TABID”),我得到的是“history.push不是函数”error@dhiraj00请检查一下,谢谢。我用重定向修复了它。重定向URL是在addNewProject函数中设置的。{redirectURL!=''&}
  <script src="https://unpkg.com/react-router/umd/react-router.min.js"></script>
  <script src="https://unpkg.com/react-router-dom/umd/react-router-dom.min.js"></script>

import React, { Component } from 'react
import { withRouter } from 'react-router'

class RouteComp extends Component {
  navigate = () => {
    this.props.history.push({
      pathname: '/pathname',
      search: '?TabId=`${this.state.newTabId}'
    })
  }

  render () {
    <button onClick={this.navigate}>Navigate</button>
  }
}

export default withRouter(RouteComp);