- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
试图弄清楚如何才能返回到上一页。我正在使用 [react-router-v4][1]
这是我在第一个着陆页中配置的代码:
<Router>
<div>
<Link to="/"><div className="routerStyle"><Glyphicon glyph="home" /></div></Link>
<Route exact path="/" component={Page1}/>
<Route path="/Page2" component={Page2}/>
<Route path="/Page3" component={Page3}/>
</div>
</Router>
为了转发到后续页面,我只需执行以下操作:
this.props.history.push('/Page2');
但是,我怎样才能回到上一页呢?尝试了下面提到的一些事情但没有运气:1. this.props.history.goBack();
给出错误:
TypeError: null is not an object (evaluating 'this.props')
this.context.router.goBack();
给出错误:
TypeError: null is not an object (evaluating 'this.context')
this.props.history.push('/');
给出错误:
TypeError: null is not an object (evaluating 'this.props')
在下面发布 Page1
代码:
import React, {Component} from 'react';
import {Button} from 'react-bootstrap';
class Page1 extends Component {
constructor(props) {
super(props);
this.handleNext = this.handleNext.bind(this);
}
handleNext() {
this.props.history.push('/page2');
}
handleBack() {
this.props.history.push('/');
}
/*
* Main render method of this class
*/
render() {
return (
<div>
{/* some component code */}
<div className="navigationButtonsLeft">
<Button onClick={this.handleBack} bsStyle="success">< Back</Button>
</div>
<div className="navigationButtonsRight">
<Button onClick={this.handleNext} bsStyle="success">Next ></Button>
</div>
</div>
);
}
export default Page1;
最佳答案
我认为问题在于绑定(bind):
constructor(props){
super(props);
this.goBack = this.goBack.bind(this); // i think you are missing this
}
goBack(){
this.props.history.goBack();
}
.....
<button onClick={this.goBack}>Go Back</button>
正如我在您发布代码之前所假设的那样:
constructor(props) {
super(props);
this.handleNext = this.handleNext.bind(this);
this.handleBack = this.handleBack.bind(this); // you are missing this line
}
关于javascript - react-router (v4) 怎么回去?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46681387/
我可以从我的 mainActivity 转到我的 SoundActivity 类,这是一个菜单。但是,当我单击设备后退按钮时,它不会返回到我的 mainActivity 而只是关闭应用程序。我已将 f
我有一个很大的命名分支,有很多更改。其中一些更改是非破坏性的,因此我想首先选择这些特定文件,并尽快将其与默认文件合并。 (然后,破坏性更改也将合并。) 在Git中,我将创建另一个分支并压缩索引之外的所
我有一棵树: /--b1---b2 $a; git add $a; git commit -am $a; git tag $a; done git checkout -b b; for
我是一名优秀的程序员,十分优秀!