Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 以编程方式更改react路由器路由参数_Javascript_Reactjs_React Router - Fatal编程技术网

Javascript 以编程方式更改react路由器路由参数

Javascript 以编程方式更改react路由器路由参数,javascript,reactjs,react-router,Javascript,Reactjs,React Router,有没有简单方便的方法可以使用不同的参数导航到同一条路线 例如,我现在在/profile/idan上,我希望立即将idan的参数更改为其他参数,而不处理路由的静态部分。如果您的问题是关于API的v3,则react router库引入了路由器上下文。如果在contextTypes中声明,则可以访问and方法。例如: import React, { Component, PropTypes } from 'react'; import { PropTypes as RouterPropTypes }

有没有简单方便的方法可以使用不同的参数导航到同一条路线


例如,我现在在/profile/idan上,我希望立即将
idan
的参数更改为其他参数,而不处理路由的静态部分。

如果您的问题是关于API的v3,则
react router
库引入了
路由器
上下文。如果在
contextTypes
中声明,则可以访问and方法。例如:

import React, { Component, PropTypes } from 'react';
import { PropTypes as RouterPropTypes } from 'react-router';

class MyComponent extends Component {
  // ...
  handleSomeEvent() {
    this.context.router.push('/some/url');
  }
}

MyComponent.contextTypes = {
  router: RouterPropTypes.routerShape
};

export default MyComponent;

这是v3还是v4?它是v3,实际上,
push
是我不喜欢使用的,因为我不能切换参数,我必须指定整个路径,我的主要问题是如何避免它。谢谢你,我明白了。他们明确取消了对这类事情的支持。您可能需要查看上下文。基本上,解决方案是“构建您自己的”,并使用低级推送机制。没有用于路由URL生成的功能。