我有一个react.Component,它有一个供用户登录的表单。
如何将应用程序重定向到成功登录的新页面?
import React from "react";
import {
Link
} from "react-router-dom";
import { withRouter } from "react-router";
import {Header} from './layout/Header.js';
export class Signin extends React.Component {
constructor(props){
super(props);
this.handleSubmit = this.handleSubmit.bind(this);
}
handleSubmit(e){
history.push('/dash');
}
render() {
return (// markup)
}
}
我正在使用App.js中的路由器在我的应用程序中显示页面,例如登录和破折号。
<Router>
<Switch>
<Route path="/signin">
<Signin />
</Route>
<Route path="/dash">
<Dash />
</Route>
</Switch>
</Router>
我收到错误消息"history is undefined“
如果我尝试@MoiioM的方法-我得到错误:意外的令牌,预期的",“
发布于 2021-01-22 14:47:46
你需要在你的类上使用HOC (高阶组件) withRouter,然后使用道具历史。
import React from "react";
import {
Link
} from "react-router-dom";
import { withRouter } from "react-router";
import {Header} from './layout/Header.js';
class Signin extends React.Component {
constructor(props){
super(props);
this.handleSubmit = this.handleSubmit.bind(this);
}
handleSubmit(e){
this.props.history.push('/dash');
}
render() {
return (// markup)
}
}
//export { withRouter(Signin) as Signin }; // does not work,
// @brian-thompsons suggestion:
const SigninWrapper = withRouter(Signin);
export { SigninWrapper as Signin };
https://stackoverflow.com/questions/65847229
复制相似问题