我正在使用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),但是上下文返回并且对象为空,所以当我尝试做类似的事情时:this.context.router.transitionTo(mylink);
我得到Cannot read property 'transitionTo' of undefined
(如果我尝试做类似set的事情) this.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);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句