**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`.

instance = this;
        this.log('render');
        return <div />;
      },
    });
    var container = document.createElement('div');
    ReactDOM.render(<Component />, container);
    ReactDOM.render(<Component />, container);
    ReactDOM.unmountComponentAtNode(container);
    instance.log('after unmount');
    expect(ops).toEqual([
      'getInitialState: false',
      'componentWillMount: false',
      'render: false',
      'componentDidMount: true',
      'componentWillUpdate: true',
      'render: true',
      'componentDidUpdate: true',
      'componentWillUnmount: false',
      'after unmount: false',
    ]);
    expect(console.error.calls.count()).toBe(1);
    expect(console.error.calls.argsFor(0)[0]).toEqual(
      'Warning: MyComponent: isMounted is deprecated. Instead, make sure to ' +
        'clean up subscriptions and pending requests in componentWillUnmount ' +
        'to prevent memory leaks.',
    );
  });
});