title: Copying state in reducer is causing slowness
body: <p>I have a reducer which is giving me some slowness. I have identified the step which clones/copies a part of my state as the slow step. </p>
  
  <pre><code>export default function itemReducer(state = initialState, action) {
     case ITEM_FETCH_IMPACT_UPDATE:
          {
              let index = action.payload.index
  slow step-&gt; let items = [...state.items]; 
              items[index] = {...items[index], overallIsLoading: true};
              return {...state, items}
          };
  }
  </code></pre>
  
  <p><code>items</code> is a fairly large array of about 300 objects, with each object having ~10 properties. How should I go about speeding this up while maintaining best Redux/React practices?</p>