function _performComponentUpdate(nextElement, nextProps, nextState, nextContext, transaction, unmaskedContext) {
	    var inst = this._instance;

	    var hasComponentDidUpdate = Boolean(inst.componentDidUpdate);
	    var prevProps;
	    var prevState;
	    var prevContext;
	    if (hasComponentDidUpdate) {
	      prevProps = inst.props;
	      prevState = inst.state;
	      prevContext = inst.context;
	    }

	    if (inst.componentWillUpdate) {
	      if (process.env.NODE_ENV !== 'production') {
	        if (this._debugID !== 0) {
	          ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'componentWillUpdate');
	        }
	      }
	      inst.componentWillUpdate(nextProps, nextState, nextContext);
	      if (process.env.NODE_ENV !== 'production') {
	        if (this._debugID !== 0) {
	          ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'componentWillUpdate');
	        }
	      }
	    }

	    this._currentElement = nextElement;
	    this._context = unmaskedContext;
	    inst.props = nextProps;
	    inst.state = nextState;
	    inst.context = nextContext;

	    this._updateRenderedComponent(transaction, unmaskedContext);

	    if (hasComponentDidUpdate) {
	      if (process.env.NODE_ENV !== 'production') {
	        transaction.getReactMountReady().enqueue(invokeComponentDidUpdateWithTimer.bind(this, prevProps, prevState, prevContext), this);
	      } else {
	        transaction.getReactMountReady().enqueue(inst.componentDidUpdate.bind(inst, prevProps, prevState, prevContext), inst);
	      }
	    }
	  }
/**
	   * Merges new props and state, notifies delegate methods of update and
	   * performs update.
	   *
	   * @param {ReactElement} nextElement Next element
	   * @param {object} nextProps Next public object to set as properties.
	   * @param {?object} nextState Next object to set as state.
	   * @param {?object} nextContext Next public object to set as context.
	   * @param {ReactReconcileTransaction} transaction
	   * @param {?object} unmaskedContext
	   * @private
	   */
Merges new props and state, notifies delegate methods of update and
performs update.

@param {ReactElement} nextElement Next element
@param {object} nextProps Next public object to set as properties.
@param {?object} nextState Next object to set as state.
@param {?object} nextContext Next public object to set as context.
@param {ReactReconcileTransaction} transaction
@param {?object} unmaskedContext
@private
Merges new props and state notifies delegate methods of update and performs update . @param { ReactElement } nextElement Next element @param { object } nextProps Next public object to set as properties . @param { ?object } nextState Next object to set as state . @param { ?object } nextContext Next public object to set as context . @param { ReactReconcileTransaction } transaction @param { ?object } unmaskedContext @private
function _performComponentUpdate(nextElement, nextProps, nextState, nextContext, transaction, unmaskedContext) {
	    var inst = this._instance;
	    var hasComponentDidUpdate = Boolean(inst.componentDidUpdate);
	    var prevProps;
	    var prevState;
	    var prevContext;
	    if (hasComponentDidUpdate) {
	      prevProps = inst.props;
	      prevState = inst.state;
	      prevContext = inst.context;
	    }
	    if (inst.componentWillUpdate) {
	      if (process.env.NODE_ENV !== 'production') {
	        if (this._debugID !== 0) {
	          ReactInstrumentation.debugTool.onBeginLifeCycleTimer(this._debugID, 'componentWillUpdate');
	        }
	      }
	      inst.componentWillUpdate(nextProps, nextState, nextContext);
	      if (process.env.NODE_ENV !== 'production') {
	        if (this._debugID !== 0) {
	          ReactInstrumentation.debugTool.onEndLifeCycleTimer(this._debugID, 'componentWillUpdate');
	        }
	      }
	    }
	    this._currentElement = nextElement;
	    this._context = unmaskedContext;
	    inst.props = nextProps;
	    inst.state = nextState;
	    inst.context = nextContext;
	    this._updateRenderedComponent(transaction, unmaskedContext);
	    if (hasComponentDidUpdate) {
	      if (process.env.NODE_ENV !== 'production') {
	        transaction.getReactMountReady().enqueue(invokeComponentDidUpdateWithTimer.bind(this, prevProps, prevState, prevContext), this);
	      } else {
	        transaction.getReactMountReady().enqueue(inst.componentDidUpdate.bind(inst, prevProps, prevState, prevContext), inst);
	      }
	    }
	  }
function _performComponentUpdate ( nextElement , nextProps , nextState , nextContext , transaction , unmaskedContext ) { var inst = this . _instance ; var hasComponentDidUpdate = Boolean ( inst . componentDidUpdate ) ; var prevProps ; var prevState ; var prevContext ; if ( hasComponentDidUpdate ) { prevProps = inst . props ; prevState = inst . state ; prevContext = inst . context ; } if ( inst . componentWillUpdate ) { if ( process . env . NODE_ENV !== 'production' ) { if ( this . _debugID !== 0 ) { ReactInstrumentation . debugTool . onBeginLifeCycleTimer ( this . _debugID , 'componentWillUpdate' ) ; } } inst . componentWillUpdate ( nextProps , nextState , nextContext ) ; if ( process . env . NODE_ENV !== 'production' ) { if ( this . _debugID !== 0 ) { ReactInstrumentation . debugTool . onEndLifeCycleTimer ( this . _debugID , 'componentWillUpdate' ) ; } } } this . _currentElement = nextElement ; this . _context = unmaskedContext ; inst . props = nextProps ; inst . state = nextState ; inst . context = nextContext ; this . _updateRenderedComponent ( transaction , unmaskedContext ) ; if ( hasComponentDidUpdate ) { if ( process . env . NODE_ENV !== 'production' ) { transaction . getReactMountReady ( ) . enqueue ( invokeComponentDidUpdateWithTimer . bind ( this , prevProps , prevState , prevContext ) , this ) ; } else { transaction . getReactMountReady ( ) . enqueue ( inst . componentDidUpdate . bind ( inst , prevProps , prevState , prevContext ) , inst ) ; } } }
Merges new props and state, notifies delegate methods of update and
 performs update.
Merges new props and state notifies delegate methods of update and performs update .