title: After updating props, this.props is always === nextProps / prevProps
body: <p>I've got a jsbin for this issue here: <a href="http://jsbin.com/tekuluve/1/edit" rel="noreferrer">http://jsbin.com/tekuluve/1/edit</a></p>
  
  <p>In an onClick event I'm removing an element from the model, and re-rendering the app. But strangely, in componentWillReceiveProps() (and componentWillUpdate, and componentDidUpdate too), nextProps is always === to this.props, regardless of what I do. </p>
  
  <pre><code>/** @jsx React.DOM */
  var Box = React.createClass({
    render: function() {
      return (
        &lt;div className="box" onClick={ UpdateModel }&gt;
          { this.props.label }
        &lt;/div&gt;
      );
    }
  });
  
  var Grid = React.createClass({
    componentWillReceiveProps: function(nextProps) {      
      // WTF is going on here???
      console.log(nextProps.boxes === this.props.boxes)        
    },
    render: function() {
      var boxes = _.map(this.props.boxes, function(d) {
        return (&lt;Box label={ d.number } /&gt;);
      });
  
      return (
        &lt;div className="grid"&gt;
          { boxes }
        &lt;/div&gt;
      );
    }
  });
  
  var model = [
    { number: 1 },
    { number: 2 },
    { number: 3 },
    { number: 4 },
    { number: 5 }
  ];
  
  function UpdateModel() {
    React.renderComponent(
      &lt;Grid boxes={ _.pull(model, _.sample(model)) } /&gt;,
      document.body
    );
  }
  
  React.renderComponent(
    &lt;Grid boxes={ model } /&gt;,
    document.body
  );
  </code></pre>
  
  <p>I need nextProps to be different to this.props after it has been updated via UpdateModel(), in the componentWillReceiveProps() lifecycle event. </p>