title: React-redux store updates but React does not
body: <p>Bear with me here as this question pertains to my first test app using either React, Redux or react-redux. Docs have gotten me far and I have a mock banking app that mostly works. My state object looks roughly like this:</p>
  
  <pre><code>{
   activePageId: "checking",
   accounts: [
    checking: {
      balance: 123,
      transactions: [
        {date, amount, description, balance}
      ]
    }
   ]
  }
  </code></pre>
  
  <p>I have just two actions:</p>
  
  <p><strong>1.</strong> CHANGE_HASH (as in url hash). This action always works as expected and all the reducer does is update the state.activePageId (yes, I'm cloning the state object and not modifying it). After the action, I can see the state has changed in the Redux store and I can see that React has updated.</p>
  
  <pre><code>function changeHash(id) {
          return {
              type: "CHANGE_HASH",
              id: id
          }
  }
  </code></pre>
  
  <p><strong>2.</strong> ADD_TRANSACTION (form submission). This action never updates React, but it always updates the Redux store. The reducer for this action is updating <code>state.accounts[0].balance</code> and it's adding a transaction object to the array <code>state.accounts[0]</code>.transactions. I don't receive any errors, React just doesn't update. HOWEVER, if I dispatch a <code>CHANGE_HASH action</code> React will catch up and display all of the <code>ADD_TRANSACTION</code> state updates properly.</p>
  
  <pre><code>function addTransaction(transaction, balance, account) {
      return {
          type: "ADD_TRANSACTION",
          payload: {
              transaction: transaction,
              balance: balance,
              account: account
          }
      }
  }
  </code></pre>
  
  <p>My reducer...</p>
  
  <pre><code>    function bankApp(state, action) {
          switch(action.type) {
              case "CHANGE_HASH":
                  return Object.assign({}, state, {
                      activePageId: action.id
                  });
              case "ADD_TRANSACTION":
              // get a ref to the account
                  for (var i = 0; i &lt; state.accounts.length; i++) {
                      if (state.accounts[i].name == action.payload.account) {
                          var accountIndex = i;
                          break;
                      }
                  }
  
              // is something wrong?
                  if (accountIndex == undefined)  {
                      console.error("could not determine account for transaction");
                      return state;
                  }
  
              // clone the state
                  var newState = Object.assign({}, state);
  
              // add the new transaction
                  newState.accounts[accountIndex].transactions.unshift(action.payload.transaction);
  
              // update account balance
                  newState.accounts[accountIndex].balance = action.payload.balance;
  
                  return newState;
              default:
                  return state;
          }
  </code></pre>
  
  <p>My mapStateToProps</p>
  
  <pre><code>    function select(state) {
          return state;
      }
  </code></pre>
  
  <p>What am I missing here? I'm under the impression that React is supposed to update as the <code>Redux store</code>is updated.</p>
  
  <p><a href="https://github.com/curiousercreative/bankDemo" rel="noreferrer">Github repo:</a></p>
  
  <p><a href="http://curiousercreative.com/demos/bankDemo/" rel="noreferrer">Deployment bank demo</a></p>
  
  <p>p.s. I lied about not having any errors. I do have a number of warnings </p>
  
  <blockquote>
    <p>""Warning: Each child in an array or iterator should have a unique "key" prop..."</p>
  </blockquote>
  
  <p>I'm already giving them a key <code>prop</code> set to it's index. I doubt that has anything to do with my issue though.</p>