text: /**
   * Copyright 2013-present, Facebook, Inc.
   * All rights reserved.
   *
   * This source code is licensed under the BSD-style license found in the
   * LICENSE file in the root directory of this source tree. An additional grant
   * of patent rights can be found in the PATENTS file in the same directory.
   *
   * @providesModule LinkedStateMixin
   */
  
  'use strict';
  
  var ReactLink = require('ReactLink');
  var ReactStateSetters = require('ReactStateSetters');
  
  /**
   * A simple mixin around ReactLink.forState().
   */
  var LinkedStateMixin = {
    /**
     * Create a ReactLink that's linked to part of this component's state. The
     * ReactLink will have the current value of this.state[key] and will call
     * setState() when a change is requested.
     *
     * @param {string} key state key to update. Note: you may want to use keyOf()
     * if you're using Google Closure Compiler advanced mode.
     * @return {ReactLink} ReactLink instance linking to the state.
     */
    linkState: function(key) {
      return new ReactLink(
        this.state[key],
        ReactStateSetters.createStateKeySetter(this, key)
      );
    },
  };
  
  module.exports = LinkedStateMixin;
  