gpt4 book ai didi

javascript - react-router (v4) 怎么回去?

转载 作者:IT王子 更新时间:2023-10-29 03:11:02 24 4
gpt4 key购买 nike

试图弄清楚如何才能返回到上一页。我正在使用 [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')

  1. this.context.router.goBack();

给出错误:

TypeError: null is not an object (evaluating 'this.context')

  1. 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">&lt; Back</Button>
</div>
<div className="navigationButtonsRight">
<Button onClick={this.handleNext} bsStyle="success">Next &gt;</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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com