title: Use Object.assign or Spread Operator in React/Redux? Which is a better practise
body: <p>I have some confusion about using <code>Object.assign</code> for React and Redux.</p>
  
  <p>I read this <a href="http://redux.js.org/docs/basics/Reducers.html" rel="noreferrer">article</a>. </p>
  
  <p>It says ES6 Does not supported by all browsers but I have started using it.</p>
  
  <p>I have two questions:</p>
  
  <ol>
  <li>Is it the right decision to continue with <code>Object.assign</code>?</li>
  <li>What is the alternative?</li>
  </ol>
  
  <p>My Code </p>
  
  <pre><code>export const selectDiameter = (scaleData, size) =&gt; {
    return {
      type: SELECT_DIAMETER,
      payload: Object.assign({}, scaleData, {
           diameter: Object.assign({}, scaleData.diameter, {
               selected_tube_diameter: size,
               is_clicked: true,
               audio: Object.assign({}, scaleData.diameter.audio, {
                 is_played: true
               })
           })
        })
     }
  }
  </code></pre>
  
  <p>What is the alternative for the above code?</p>