Я использую тот же компонент Form
для редактирования сообщения и добавления нового в мое приложение. ComponentDidMount Form
выглядит следующим образом:
componentDidMount() {
this.props.match ? this.props.dispa({
type: 'ON_LOAD_ACTION',
payload: this.props.fetch.data.find(x => x.id == this.props.match.params.id)
}) : this.props.dispa({
type: 'ON_RESET',
payload: ''
});
}
Он проверяет, есть ли в URL id
, например, localhost:3000/edit/id
Я пытаюсь обновить сообщение. Я извлекаю данные поста и могу заполнить им форму. Если в URL нет id
, я просто оставляю форму пустой. Вторая отправка предназначена для сброса состояния в его начальное состояние.
Я использую react-router
/ redux
, и моя проблема в том, что я нахожусь в форме редактирования и нажимаю на форму создания. Он не рендерится заново, и я получил значение поста, в котором я находился. Я думаю, что это потому, что я перенаправляю на ту же форму.
<Route exact path="/create" >
<FromProduct />
</Route>
<Route exact path="/edit/:id" component={FromProduct}></Route>
Но если я нажму submit
Кнопка, чтобы обновить сообщение или I go до /home
вначале, компонент прекрасно рендерится.