我正在使用react-router,所以我使用< Link />我的链接在整个应用程序中的组件,在某些情况下我需要根据用户输入动态生成链接,所以我需要像window.location,但没有页面刷新.
我找到了这个小笔记 – (https://github.com/rackt/react-router/issues/835) – 我尝试使用this.context.router.transitionTo(mylink)但是我遇到了上下文问题…
这导致我(https://github.com/rackt/react-router/issues/1059),但上下文返回和空对象,所以当我尝试todo之类的东西:this.context.router.transitionTo(mylink);我得到了无法读取未定义的属性’transitionTo'(如果我尝试在构造函数中设置this.context = context).
不要拖延,但我也厌倦了过多的语境,因为它仍然是一个正在进行的工作,所以我读过.
有没有人遇到类似的问题?
在这里找到一个解决方案:
https://github.com/rackt/react-router/issues/975,这里:
https://github.com/rackt/react-router/issues/1499
构造函数需要:
class SidebarFilter extends React.Component { constructor(props,context) { super(props,context);
SidebarFilter.contextTypes = { router: React.PropTypes.func.isrequired };
然后我可以打电话:
this.context.router.transitionTo(/path-to-link);