reactjs – 如何使用react-router和ES6类模拟window.location

前端之家收集整理的这篇文章主要介绍了reactjs – 如何使用react-router和ES6类模拟window.location前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用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);

猜你在找的React相关文章