У меня есть компонент, который отображает другой
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
}
Поэтому, когда я нажимаю кнопку «Перейти к форме», он перемещает меня в новый компонент, затем он монтируется и вызывается goBack
, и я перенаправляюсь на Items
.Все нормально, но после этого New
снова монтируется, и меня перенаправляют на маршрут, который был до /items
.Я попытался сделать это с go
, и в этом случае есть бесконечный цикл.Кроме того, когда я пытаюсь сделать push
вместо go
и goBack
, он работает правильно.