title: React.Component vs React.PureComponent
body: <p>The official <a href="https://reactjs.org/docs/react-api.html#reactpurecomponent" rel="noreferrer">React docs</a> state that "<code>React.PureComponent</code>'s <code>shouldComponentUpdate()</code> only shallowly compares the objects", and advises against this if state is "deep".</p>
  
  <p>Given this, is there any reason why one should prefer <code>React.PureComponent</code> when creating React components?</p>
  
  <p><strong>Questions</strong>:</p>
  
  <ul>
  <li>is there any performance impact in using <code>React.Component</code> that we may consider going for <code>React.PureComponent</code>?</li>
  <li>I am guessing  <code>shouldComponentUpdate()</code> of <code>PureComponent</code> performs only shallow comparisons. If this is the case, can't said method be used for deeper comparisons?</li>
  <li>"Furthermore, <code>React.PureComponent</code>'s <code>shouldComponentUpdate()</code> skips prop updates for the whole component subtree" - Does this mean that prop changes are ignored?</li>
  </ul>
  
  <p>Question arose from reading into this <a href="https://medium.com/modus-create-front-end-development/component-rendering-performance-in-react-df859b474adc#.d02ak0fwb" rel="noreferrer">medium blog</a>, if it helps.</p>