Как я могу получитьобновить страницу после перенаправления в реагировать - PullRequest
0 голосов
/ 07 февраля 2019

Я обновляю данные формы, используя 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(
       ...)
  }

Перенаправление выводит меня на нужную страницу, но обновленные данные не отображаются на странице сведений.Но когда я нажимаю кнопку обновления вручную, это отражается.Есть ли способ заставить меня обновить страницу, на которую он перенаправляет, или есть какой-то другой способ добиться того же.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...