Я обновляю данные формы, используя api.Поэтому я создал компонент формы, который отображает данные в форме.Я создал компонент "device_detail".В этом компоненте я добавил кнопку «обновить», которая ссылается на компонент update_device_detail.В моем компоненте update_device_detail у меня есть метод handleUpdate:
handleUpdate(event) {
event.preventDefault()
const ied = this.props.match.params.id
if (this.validateMainForm()) {
let elements = this.state.element
let items = this.state.type_items
const data = {
id: items['id'],
name: items['name']
}
console.log('--------final-data before posting-------', data);
axios({
url: 'http://127.0.0.1:8000/api/foo/'+ied+'/update',
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
data: JSON.stringify(data)
})
.then(function(response) {
return response
})
alert('Device Updated Succesfully!!!')
this.setState({redirect: true})
}
}
Я установил начальное состояние redirect: false
.
В методе render () я сделал условие:
if (this.state.redirect) {
return <Redirect to={`/device/${this.state.items.id}`} />
}
else {
return(
...)
}
Перенаправление выводит меня на нужную страницу, но обновленные данные не отображаются на странице сведений.Но когда я нажимаю кнопку обновления вручную, это отражается.Есть ли способ заставить меня обновить страницу, на которую он перенаправляет, или есть какой-то другой способ добиться того же.