title: React Redux: Updating object is updating state but not triggering selector
body: <p>I have a redux branch structured like:</p>
  
  <pre><code>{
    byId: {
      1: { id: 1, name: 'Name 1', username: 'Username 1' },
      2: { id: 2, name: 'Name 2', username: 'Username 2' },
      3: { id: 3, name: 'Name 3', username: 'Username 3' },
      ...
    },
    ...
  }
  </code></pre>
  
  <p>I have a us case of triggering an action to change the name of an entry, posting to my API, returning the full object (to reflect changes locally incase of other sources manipulating my backend), and re-inserting it into my redux state.</p>
  
  <p>Action:</p>
  
  <pre><code>changeName(id, name) =&gt; {
    // post to API
    const object = &lt;object from API&gt;
    dispatch({
      type: 'UPDATE_USER',
      byId: { id: object }
    });
  };
  </code></pre>
  
  <p>Reducer:</p>
  
  <pre><code>case 'UPDATE_USER':
    return update(state, {
      byId: { $merge: action.byId }
    });
  </code></pre>
  
  <p>I am triggering this action from a list that is rendering the rows from <code>byId</code> - I can confirm it <strong>updates my redux correctly</strong> however it does not cause a <strong>rerender</strong> of my list. If I were to trigger a different action, ie. remove a list row, the list would update to reflect the removed item, as well as the <code>changeName</code> that did not previously cause a rerender.</p>
  
  <p>I know it's something to do with my <code>$merge</code> and re-inserting with the same <code>key</code> value and a deeper-nested <code>field</code> change is mixing up my redux to not notice a state change, but I'm not sure where to go from here.</p>
  
  <p>Thanks</p>
  
  <ul>
  <li>edit: I'm also using a custom selector for this list that uses lodash/isEqual</li>
  </ul>
  
  <pre><code>export default createSelectorCreator(defaultMemoize, isEqual);
  </code></pre>
  
  <p>I've also tried:</p>
  
  <pre><code>return update(state, {
    byId: {
      [action.id]: { $set: action.data }
    }
  });
  </code></pre>
  
  <p>with no luck</p>