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

**What is the current behavior?**
In normal rendering, you can memoize a class-based component: https://jsfiddle.net/586ea3cx/

With the shallow renderer, it seems like you can't: https://jsfiddle.net/odj217Lv/1/

This might be blocking https://github.com/airbnb/enzyme/pull/1914, in which tests are failing with `Cannot call a class as a function`. (it's tough to repro stuff with the shallow renderer)
}
    return this._workInProgressHook;
  }
  _prepareToUseHooks(componentIdentity: Object): void {
    if (
      this._previousComponentIdentity !== null &&
      this._previousComponentIdentity !== componentIdentity
    ) {
      this._firstWorkInProgressHook = null;
    }
    this._currentlyRenderingComponent = componentIdentity;
    this._previousComponentIdentity = componentIdentity;
  }
  _finishHooks(element: ReactElement, context: null | Object) {
    if (this._didScheduleRenderPhaseUpdate) {
      
      
      
      
      this._didScheduleRenderPhaseUpdate = false;
      this._numberOfReRenders += 1;
      
      this._workInProgressHook = null;
      this._rendering = false;
      this.render(element, context);
    } else {
      this._currentlyRenderingComponent = null;
      this._workInProgressHook = null;
      this._renderPhaseUpdates = null;
      this._numberOfReRenders = 0;