See comment here: https://github.com/facebook/react/pull/11457#discussion_r148954193.

Although it seems very unlikely that someone would pass a one-character prop, the price (at least in versions of V8 in Chrome right now) is reported to be about 10x.

So we should check `.length` first and then do the comparison.

**Please comment if you want to take this issue.**
**If somebody already commented, please let them finish it.**
if (isReservedProp(name)) {
    return true;
  }
  let propertyInfo = getPropertyInfo(name);
  if (propertyInfo) {
    return (
      propertyInfo.hasBooleanValue ||
      propertyInfo.hasStringBooleanValue ||
      propertyInfo.hasOverloadedBooleanValue
    );
  }
  var prefix = name.toLowerCase().slice(0, 5);
  return prefix === 'data-' || prefix === 'aria-';
}
/**
 * Checks to see if a property name is within the list of properties
 * reserved for internal React operations. These properties should
 * not be set on an HTML element.
 *
 * @private
 * @param {string} name
 * @return {boolean} If the name is within reserved props
 */
export function isReservedProp(name) {
  return RESERVED_PROPS.hasOwnProperty(name);
}
export const injection = DOMPropertyInjection;