【发布时间】:2016-01-31 00:12:36
【问题描述】:
我使用webpack、ES6、react-router 库和Link 组件作为我的链接。我想用链接元素的父 div “过境”,但是当我点击 div 时出现错误:
Uncaught TypeError: Cannot read property 'transitionTo' of undefined
NavBar.jsx
var React = require('react');
var Router = require('react-router');
var { Route, DefaultRoute, RouteHandler, Link } = Router;
var CustomersIcon = require("./icons").CustomersIcon;
export class NavBar extends React.Component {
constructor(props, context) {
super(props, context);
}
_openLink() {
this.context.router.transitionTo('/');
}
render() {
return (
<div className="menu-item-wrapper" onClick={this._openLink.bind(this)}>
<CustomersIcon />
<Link to="/customers" activeClassName="active" ref="customersLink">Customers</Link>
</div>
);
}
}
NavBar.contextTypes = {
router: function contextType() {
return React.PropTypes.func.isRequired;
}
};
【问题讨论】:
-
您使用的是哪个版本的 react-router?另外,
router: function contextType() { ... }应该是router: React.PropTypes.func.isRequired。 -
我用
1.0.0-rc3版本
标签: reactjs react-router