React 16.0.0 with SSR & [lazysizes](https://github.com/aFarkas/lazysizes) 4.0.1.

Trying to use the ["the noscript pattern"](https://github.com/aFarkas/lazysizes#the-noscript-pattern) to lazy load images with [lazysizes](https://github.com/aFarkas/lazysizes) but I'm seeing this:

> Warning: Expected server HTML to contain a matching &lt;img&gt; in &lt;noscript&gt;.

Image component render method:

```js
render () {
    const { cdn, url, width, height } = this.props

    if (!url) return null

    const noScriptImgProps = {
      src: `${cdn}${url}`,
      className: classNames('product-image'),
      width,
      height
    }

    const imgProps = {
      'data-src': `${cdn}${url}`,
      className: classNames('product-image', 'lazyload'),
      width,
      height
    }

    return (
      <span>
        <noscript>
          <img {...noScriptImgProps} />
        </noscript>
        <img {...imgProps} />
      </span>
    )
  }
```

Does React have an issue with `noscript` tags..?


expect(element.textContent).toBe('Hi');
    expect(ref.current).toBe(null);
    ReactDOM.hydrate(markup, element);
    expect(element.textContent).toBe('Hi');
    expect(ref.current.tagName).toBe('DIV');
  });
  it('should be able to render and hydrate Profiler components', () => {
    const callback = jest.fn();
    const markup = (
      <React.unstable_Profiler id="profiler" onRender={callback}>
        <div>Hi</div>
      </React.unstable_Profiler>
    );
    const element = document.createElement('div');
    element.innerHTML = ReactDOMServer.renderToString(markup);
    expect(element.textContent).toBe('Hi');
    expect(callback).not.toHaveBeenCalled();
    ReactDOM.hydrate(markup, element);
    expect(element.textContent).toBe('Hi');
    if (__DEV__) {
      expect(callback).toHaveBeenCalledTimes(1);
      const [id, phase] = callback.mock.calls[0];
      expect(id).toBe('profiler');
      expect(phase).toBe('mount');
    } else {
      expect(callback).toHaveBeenCalledTimes(0);
    }
  });
});