【发布时间】:2020-11-10 06:58:29
【问题描述】:
class Login extends Component {
async handle_login(e) {
e.preventDefault();
this.props.history.push('/home')
}
render() {
return (
<input type='submit' value='Log in' onSubmit={(e)=>this.handle_login(e)}></input>
<input type='submit'value='Sign up' onSubmit={(e)=>this.handle_signup(e)}></input>
);
}
}
export default withRouter(Login)
class App extends Component {
// app.js
render() {
return (
<Router>
<div className='App' style={{marginTop:'0px'}}>
<div className='container'>
<Header></Header>
<Route exact style={{marginTop:'0px'}} path='/' render={(props)=>(
<div style={{display:'flex',justifyContent:'center'}}>
{/* add a background in this div */}
<Link to='/login' style={{color:'#000000', fontSize:'large',paddingRight:'10px' }}> Login </Link>
<Link to='/' style={{color:'#000000', fontSize:'large' }}> Index </Link>
</div>
)}></Route>
<Route exact path='/home' component={Home}></Route>
<Route exact path='/login' component={Login}></Route>
</div>
</div>
</Router>
);
}}
export default App;
我正在尝试使用上述代码使用 withRouter 将“登录”组件重定向到“/home”,但运行代码什么也不做,也不会引发任何错误。我已经附上了 home 和登录组件。
【问题讨论】:
-
console.log(this.props.history)如果您有任何问题,请告诉我们 -
我尝试在“handle_login”函数中使用
console.log(this.props.history)记录历史记录,但控制台上没有任何记录。@BARNOWL -
试试
console.log(this.props) -
我在“handle_login”函数中尝试了
console.log(this.props),但控制台上没有渲染任何内容。@BARNOWL -
我在
render方法中使用console.log(this.props)渲染了道具,道具确实包含history属性。@BARNOWL
标签: javascript reactjs react-router-v4