title: Shouldn't Redux prevent re-rendering?
body: <p>I have a <code>List</code> component that displays multiple <code>Item</code> components. <code>List</code> gets its data from the Redux store. </p>
  
  <p>When the store is updated (because I deleted an item for example), all <code>Item</code>s are re-rerendered. <strong>Why is that?</strong></p>
  
  <p>I know I could use <code>shouldComponentUpdate()</code> to prevent a new rendering, but I thought Redux would do it internally.</p>
  
  <p>List.js</p>
  
  <pre><code>import React, { PropTypes, Component } from 'react';
  import { connect } from 'react-redux';
  
  import Item from './Item';
  
  class List extends Component {
    render() {
      const { items } = this.props;
  
      return (
        &lt;div&gt;
          &lt;h2&gt;List&lt;/h2&gt;
          {items.map((item, index) =&gt; &lt;Item key={index} name={item.name} /&gt;)}
        &lt;/div&gt;
      );
    }
  }
  
  const mapStateToProps = state =&gt; ({
    items: state.items
  });
  
  export default connect(
    mapStateToProps
  )(List);
  </code></pre>
  
  <p>Item.js</p>
  
  <pre><code>import React, { PropTypes, Component } from 'react';
  
  class Item extends Component {
    render() {
      console.log('Render', this.props.name); // The component is re-rendered even if the props didn't change
      return (
        &lt;div&gt;
          {this.props.name}
        &lt;/div&gt;
      );
    }
  }
  
  Item.propTypes = {
    name: PropTypes.string
  };
  
  export default Item;
  </code></pre>