docs: function(publicInstance, callback) {
      ("production" !== process.env.NODE_ENV ? invariant(
        typeof callback === 'function',
        'enqueueCallback(...): You called `setProps`, `replaceProps`, ' +
        '`setState`, `replaceState`, or `forceUpdate` with a callback that ' +
        'isn\'t callable.'
      ) : invariant(typeof callback === 'function'));
      var internalInstance = getInternalInstanceReadyForUpdate(publicInstance);
  
      // Previously we would throw an error if we didn't have an internal
      // instance. Since we want to make it a no-op instead, we mirror the same
      // behavior we have in other enqueue* methods.
      // We also need to ignore callbacks in componentWillMount. See
      // enqueueUpdates.
      if (!internalInstance ||
          internalInstance === ReactLifeCycle.currentlyMountingInstance) {
        return null;
      }
  
      if (internalInstance._pendingCallbacks) {
        internalInstance._pendingCallbacks.push(callback);
      } else {
        internalInstance._pendingCallbacks = [callback];
      }
      // TODO: The callback here is ignored when setState is called from
      // componentWillMount. Either fix it or disallow doing so completely in
      // favor of getInitialState. Alternatively, we can disallow
      // componentWillMount during server-side rendering.
      enqueueUpdate(internalInstance);
    }