import React from 'react';
import { Router, Link, Navigation } from 'react-router';
export default class ResourceCard extends React.Component {
render() {
return (
<div onClick={this.routeHandler.bind(this)}>
LINK
</div>
);
}
routeHandler(){
this.transitionTo('someRoute', {objectId: 'asdf'})
}
}
我看不懂,怎么了?
我收到错误:Uncaught TypeError: this.transitionTo is not a function
我已经尝试了在文档或 gitHub 问题中找到的所有内容:
this.transitionTo('someRoute', {objectId: 'asdf'})
this.context.transitionTo('someRoute', {objectId: 'asdf'})
this.context.route.transitionTo('someRoute', {objectId: 'asdf'})
etc.
路线和参数是正确的,在这种情况下工作正常:
<Link to="'someRoute" params={{objectId: 'asdf}}
附注react-router、react 和其他库都是最新的
The Navigation
组件是一个Mixin,需要相应地添加到组件中。如果你想绕过 Mixin(我觉得这是 React-Router 的发展方向),你需要在组件上设置 contextTypes,如下所示:
var ResourceCard = React.createClass({
contextTypes: {
router: React.PropTypes.func
}, ...
然后你可以打电话this.context.router.transitionTo
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)