Принудительно обновить приложение ReactJS так же, как ctrl F5

#javascript #reactjs

#javascript #reactjs

Вопрос:

У меня простой вопрос. У меня есть приложение ReactJS, которое выполняет некоторые запросы к API при запуске. Обычно эти запросы выполняются только один раз, но время от времени пользователь может захотеть обновить приложение вручную.

При выполнении ctrl F5 (или обновлении страницы через браузер) это работает нормально.

Я попытался добавить кнопку с такой же функциональностью, как эта, в свое приложение:

 <button value="Refresh Page" onClick="window.location.reload(true)">Refresh</button>
  

но он выполняет только два запроса: 0.junk.js и 0.junk.js.map , оба из которых возвращают статус 304.

Есть ли способ добиться такого же поведения, как при обновлении с помощью браузера?

Ответ №1:

Попробуйте вызвать функцию:

 onClick={() => window.location.reload(true)}
  

Или просто обновите любое состояние вашего основного компонента:

 this.setState({ refresh: true })
  

Ответ №2:

Я не думаю, что подобная строка является допустимым реквизитом, который вы можете передать onClick . Это выглядит так, как вы бы сделали это, используя обычный старый html. Вам пришлось бы передать функцию onClick , например <button value="Refresh Page" onClick={() => window.location.reload(true)}>