title: react/lib/update - multiple splices, multiple indexes
body: <p>While working with <code>react-dnd</code>, and using the <code>update</code> utility of react ('react/lib/update'), in structure like below :</p>
  
  <p><code>state = {
    data : {
      items : []
      /* array of 'fields' (flat objects items), and 'groups' (object that may have nested 'fields' under 'group.nested') */
    }
  }
  </code></p>
  
  <p>I noticed a some problem with the <code>update</code> utility, when trying to move <code>field</code> from the <code>items</code> array, into group (the <code>nested</code> array in the <code>group</code> object).</p>
  
  <p>I tried to delete the field (with <code>splice</code>), then add it to the nested array.
  The result of this <code>update</code> function returned the group, with the field nested inside, though that field wasn't removed from the original position with the declared <code>$splice</code>.</p>
  
  <h2>you can find below, an RunKit with a detailed example with the issue</h2>
  
  <p><a href="https://runkit.com/592da/splice-react-update-issue" rel="nofollow noreferrer">https://runkit.com/592da/splice-react-update-issue</a></p>
  
  <p>Will be glad to receive any advice, or any better-practice solution.</p>
  
  <p>Thanks !</p>