我有一个组件可以呈现另一个
class Items extends React.Component {
constructor(props) {
super(props);
}
render() {
return () {
<div>
<div><Link to="/items/new">Go To Form</div>
<div>
<Switch>
<Route path="/items/new" component={New} />
<Route path="/items/:id" component={Item} />
</Switch>
</div>
</div>
}
}
如果我从goBack()
组件中调用New
,它会再次呈现新组件,但我无法理解原因。
class New extends React.Component {
// here is costructor
componentDidMount() {
this.props.history.goBack();
}
// render
}
因此,当我点击Go To Form时,它会将我移动到New组件,然后它被挂载并调用goBack
并且我被重定向到Items
。没关系,但在此New
再次安装后,我被重定向到/items
之前的路由。我尝试用go
做到这一点,在这种情况下有无限循环。此外,当我尝试push
代替go
和goBack
时,它可以正常工作。
答案 0 :(得分:0)
我似乎找到了解决方案。我使用react-router-redux包中的ConnectedRouter
。我已将其更改回BrowserRouter
,它可以正常运行。它类似于前一个组件的错误。