在创建React功能组件时,是否最好使用胖箭头功能或常规ES5功能?

时间:2017-03-13 20:54:45

标签: javascript reactjs ecmascript-6

创建更好的功能组件时?

const Search = ({searchTerm, onChange, children}) => {
    return (
      <form>
        {children}
        <input
          type='text'
          value={searchTerm}
          onChange={onChange}/>
      </form>
    );
}

function Search({searchTerm, onChange, children}) {
  return (
    <form>
      {children}
      <input
        type='text'
        value={searchTerm}
        onChange={onChange}/>
    </form>
  );
}

Babel将ES6版本编译为

var Search = function Search(_ref) {
    var searchTerm = _ref.searchTerm,
    onChange = _ref.onChange,
    children = _ref.children;
};

并且ES5版本编译为

function Search(_ref) {
    var searchTerm = _ref.searchTerm,
    onChange = _ref.onChange,
    children = _ref.children;
};

对此有何想法?

1 个答案:

答案 0 :(得分:3)

鉴于没有other differences问题,这完全取决于您自己的风格偏好。

我更喜欢声明,因为它们更具说明性,需要更少的标记来输入,并且会被提升。只有在使用简洁的机身时,箭头功能才会变得更加紧凑。