我試圖自動在n秒後更改路徑。 (不使用<Link to="/home">Home</Link>
)。路由問題:嘗試重新路由時未定義this.context.router
我的代碼如下所示:
class ComponentName extends Component {
constructor (props, context) {
super(props, context);
}
componentDidMount() {
setTimeout(function(){
this.context.router.transitionTo('/home');
}.bind(this), 3000)
}
render() {return (<div>..will go to the home page</div>)}
}
ComponentName.contextTypes = {
router: function() {
return React.PropTypes.func.isRequired;
}
};
export default ComponentName;
這是我在網上this.context.router.transitionTo('/home');
越來越
Uncaught TypeError: Cannot read property 'transitionTo' of undefined
又名this.context.router是不確定的錯誤。
this.context被定義,所以沒有問題那裏afaik。
事情我已經嘗試了以下一些:
this.context = context;
static contextTypes: {
history: React.PropTypes.object,
location: React.PropTypes.object,
router: React.PropTypes.func.isRequired
}
ComponentName.contextTypes = {
router: React.PropTypes.func.isRequired
}
this.context.history.transitionTo('/home');
this.context.transitionTo('/home');
this.transitionTo('/home');
事實是,this.context.router仍然是不確定的,我已經搜索更多的線程(主要是這一個:https://github.com/rackt/react-router/issues/975)在這一點上,仍然無法找到適合我的東西。
注:我使用ES6 &
"react": "^0.14.0",
"react-router": "^1.0.0-rc3"
爲什麼downvote?這工作 – Dude