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); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |