Возможно ли, что браузер кеширует изображение и не делает запрос? - PullRequest
0 голосов
/ 20 сентября 2018

Я использую реагирование для рендеринга простого тега <img>.Когда я демонтирую и монтирую (изображение на самом деле удаляется из dom и перерисовывается), изображение часто я вижу, но если я вижу вкладку devtools «network», я не вижу никаких запросов от браузера.(И сервер ничего не получает, поэтому запрос фактически не сделан).

Как это возможно?Обычно, когда браузер использует кеш, вы видите запрос и получаете «с диска» или 304 с сервера, в этом случае запрос не выполняется.

Мой сервер отправляет Cache-Control: 'no-cache' с etag, потому что мне нужен браузер для проверки с сервером в любое время.

Возможно ли это?

Вот пример, если вы откроете сеть тегов и нажмете «скрыть», вы увидите, что запросы не выполняются.как я могу избежать этого?

https://codesandbox.io/s/lj5mm7rjm

1 Ответ

0 голосов
/ 20 сентября 2018

Простой способ подавить это поведение - добавить параметр времени, например:

render() {
    const time = new Date().getTime();
    const url = `http://iserotope.com/wp-content/uploads/2014/10/hi.jpg?t=${time}`;
    
    return (
      <div className="App">
        {!this.state.hide && (
          <img
            width="100"
            src={url}
          />
        )}

        <h2 onClick={this.toggle}>hide</h2>
      </div>
    );
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...