有没有办法在React-Router" withRouter"中使用ES6 extend
功能?成分
这样的事情:
import { withRouter } from 'react-router';
export default class extends withRouter {
...
//Use react router history prop to navigate back a page.
handleSomeEvent() {
this.props.router.goBack();
}
...
}
还是我坚持使用旧的构图模式?
var MyComponent = React.createClass({
...
});
export default withRouter(MyComponent);
答案 0 :(得分:13)
是的,这很简单,请看下面(不是说在安装组件后你应该重定向2s ......只是一个例子)。
BTW我的react-router版本是2.6(withRouter需要2.4+)
import React, { Component } from 'react';
import { withRouter } from 'react-router';
class MyComponent extends Component {
componentDidMount() {
setTimeout(() => {
this.props.router.push('my-url')
}, 2000);
}
render() {
return (
<div>My Component</div>
);
}
}
export default withRouter(MyComponent);
答案 1 :(得分:4)
你可以这样使用它。
&#xA;&#xA; @withRouter&#xA; export default class extends withRouter {&#xA; ...&#XA; //使用react路由器历史记录支持导航页面。&#xA; handleSomeEvent(){&#xA; this.props.router.goBack();&#XA; }&#XA; ...&#xA;}&#xA;
&#xA;&#xA; &#xA;