title: Resetting row heights causes incorrect row offset to get calculated
body: <p>Inside of an <code>InfiniteLoader</code> I have a <code>List</code>, whose <code>rowRenderer</code> callback creates a <code>&lt;div&gt;</code> wrapped by <code>CellMeasurer</code> (I'm also using a cache for that). The rows can vary wildly in size, but this setup is working well for scrolling purposes.</p>
  
  <p>However, elements within each row can dynamically change in height based on user input. In those cases, I call:</p>
  
  <pre><code>cellMeasurerCache.clear(rowIndex, 0);
  this._listRef.recomputeRowHeights(rowIndex);
  </code></pre>
  
  <p>But in some cases, this causes the rows to jump around -- this is because the <code>top</code> values are getting calculated incorrectly. For example, I'm displaying a document with the following rows rendered in <code>List</code>:</p>
  
  <pre><code>rowIdx        height       top
    3            668px       420px
    4           8547        1088
    5           2420        9635
  </code></pre>
  
  <p>Then the height of row <strong>4</strong> increases slightly (~50px). After running the above code with <code>rowIndex == 4</code>, I see the following rows:</p>
  
  <pre><code>rowIdx        height       top
    5           2420px      3088px
    6           1156        5508
    7           4718        6664
    8           1050       11382
  </code></pre>
  
  <p>As you can see, row <strong>5</strong> now has an incorrect <code>top</code> value, causing the rows to jump around. I'm assuming that the height of row <strong>4</strong> did not get measured correctly.</p>
  
  <p>What's wrong?</p>
  
  <hr>
  
  <p><em>Update 2017-11-08:</em> It appears that calling <code>cellMeasurerCache.clear(rowIndex, 0)</code> replaces the height of that row with the value of <code>estimatedRowSize</code>, which is very different. It doesn't seem to re-measure, contrary to what the docs say.</p>
  
  <p><code>CellMeasurer._maybeMeasureCell()</code> isn't called for row <strong>4</strong> after it gets the default height. My <code>rowRenderer</code> callback (which creates <code>CellMeasurer</code> around my content) is only invoked starting at row <strong>5</strong>. So the code has made the decision of which rows to show with row <strong>4</strong> having the much smaller default height, instead of calculating beforehand.</p>