【发布时间】:2020-02-05 20:34:46
【问题描述】:
我有一个代码,我需要在单击按钮后显示主页。当我在其他页面中调用相同的路由“/Sub”时,它正在工作。 但是在这里它抛出了无法读取未定义的属性'push'
Routes.js:
import React from 'react';
import { Switch, BrowserRouter, Route } from 'react-router-dom';
const Routes = () => (
<BrowserRouter>
<Switch>
<Route exact path='/' component={Addpage} />
<Route path='/New' component={Details} />
<Route path='/Sub' component={Displaydata} />
</Switch>
</BrowserRouter>
)
export default Routes;
这是用户界面代码:
class Displaypage extends Component {
constructor(props) {
super(props);
this.state = {
Pageid: 1
}
this.handleSubmit = this.handleSubmit.bind(this);
this.handleAddNew = this.handleAddNew.bind(this);
}
handleSubmit = s => {
s.preventDefault();
const Pageid = this.state.Pageid;
this.props.history.push({
pathname: "/Sub",
state: {
Pageid: this.state.Pageid;
}
});
}
render() {
const submitbutton = <button onClick={this.handleSubmit}>Submit</button>
return (
<div >
{submitbutton}
</div>
);
}
}
export default Displaypage;
【问题讨论】:
-
你能解释一下除了类之外我应该在哪里定义
-
看看这篇关于withRouter的帖子,stackoverflow.com/questions/53539314/…
-
是的,它可以与路由器一起使用。谢谢。
标签: reactjs react-router