code: function warnForPropsMutation(propName, element) {
    var type = element.type;
    var elementName = typeof type === 'string' ? type : type.displayName;
    var ownerName = element._owner ?
      element._owner.getPublicInstance().constructor.displayName : null;
  
    var warningKey = propName + '|' + elementName + '|' + ownerName;
    if (warnedPropsMutations.hasOwnProperty(warningKey)) {
      return;
    }
    warnedPropsMutations[warningKey] = true;
  
    var elementInfo = '';
    if (elementName) {
      elementInfo = ' <' + elementName + ' />';
    }
    var ownerInfo = '';
    if (ownerName) {
      ownerInfo = ' The element was created by ' + ownerName + '.';
    }
  
    ("production" !== "development" ? warning(
      false,
      'Don\'t set .props.%s of the React component%s. Instead, specify the ' +
      'correct value when initially creating the element or use ' +
      'React.cloneElement to make a new element with updated props.%s',
      propName,
      elementInfo,
      ownerInfo
    ) : null);
  }
docs: Warn about mutating props when setting `propName` on `element`.
  
  @param {string} propName The string key within props that was set
  @param {ReactElement} element