加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 20:53:51 所属栏目:百科 来源:网络整理
导读:我正在使用react-router,所以我使用 Link /我的链接在整个应用程序中的组件,在某些情况下我需要根据用户输入动态生成链接,所以我需要像window.location,但没有页面刷新. 我找到了这个小笔记 – (https://github.com/rackt/react-router/issues/835) – 我尝
我正在使用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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读