**Do you want to request a *feature* or report a *bug*?**

Bug

**What is the current behavior?**

Calling `this.isMounted()` in `componentWillUnmount` in prior versions would return `true`. Now it returns `false`.

I believe this was untested behavior before, but the new tests that were added may check the wrong value: https://github.com/facebook/react/blob/master/src/isomorphic/classic/class/__tests__/create-react-class-integration-test.js#L417 Changing this line to test for `true` will exhibit the behavior.

The fix would be to defer setting the  `__isMounted` flag to `false` until after all mixins and the `componentWillUnmount` method were called on the component.

**Which versions of React, and which browser / OS are affected by this issue? Did this work in previous versions of React?**

15.5.x and anything using `create-react-class` is broken. Working correctly in 15.4.x with `React.createClass`.

'mean componentWillReceiveProps()?',
    );
  });
  it('should throw if a reserved property is in statics', () => {
    expect(function() {
      createReactClass({
        statics: {
          getDefaultProps: function() {
            return {
              foo: 0,
            };
          },
        },
        render: function() {
          return <span />;
        },
      });
    }).toThrowError(
      'ReactClass: You are attempting to define a reserved property, ' +
        '`getDefaultProps`, that shouldn\'t be on the "statics" key. Define ' +
        'it as an instance property instead; it will still be accessible on ' +
        'the constructor.',
    );
  });
  
  xit('should warn when using deprecated non-static spec keys', () => {
    spyOn(console, 'error');
    createReactClass({
      mixins: [{}],
      propTypes: {