我需要在提交表单后重定向到premontessori
页面。我怎么能这样做?
这是我的handleSubmit
功能:
handleSubmit(event) {
event.preventDefault();
<Link to='/premontessori' style={{textDecoration:'none'}} > alert("New Student Created");</Link>
var data= {
Fname:this.state.Fname,
age:this.state.age,
Lname:this.state.Lname,
dob:this.state.dob,
pob:this.state.pob,
month:this.state.month,
nation:this.state.nation,
mothertongue:this.state.mothertongue,
bloodgroup:this.state.bloodgroup
};
axios.post('/create',data)
.then(function(response){
console.log(response);
})
}
答案 0 :(得分:1)
您可以使用react router(例如-hapHistory)进行导航。
hashHistory.goBack();
答案 1 :(得分:1)
链接不是动态路由的正确方法。您需要使用context.router导航到上一个路径
如果您的组件名称为MyComponent
,请在组件外添加以下行
MyComponent.contextTypes = {
router: React.PropTypes.object.isRequired
}
导航为this.props.context.router.push('routename');
我建议您在axios success
回调中执行此操作,而不是在
class MyComponent extends React.Component {
..............
handleSubmit(event) {
event.preventDefault();
var self = this;
var data= {Fname:this.state.Fname,
age:this.state.age,
Lname:this.state.Lname,
dob:this.state.dob,
pob:this.state.pob,
month:this.state.month,
nation:this.state.nation,
mothertongue:this.state.mothertongue,
bloodgroup:this.state.bloodgroup
};
axios.post('/create',data)
.then(function(response){
console.log(response);
self.context.router.push('/premontessori')
})
}
..............
}
MyComponent.contextTypes = {
router: React.PropTypes.object.isRequired
}
答案 2 :(得分:0)
Import
您使用的history object
hashHistory
或browserHistory
。
import {hashHistory} from 'react-router';
并使用
hashHistory.push('/premontessori');