React无状态组件中的箭头函数语法

时间:2016-03-16 13:13:47

标签: reactjs ecmascript-6

我最近发现了无状态组件的乐趣。例如,这让我很开心(而且很有效):

import { Component, PropTypes } from 'react';

export default function ClassroomsOverview(props, context) {
  return (
    <div>
      <p>{context.classrooms.data.length} Classrooms.</p>
      <p>{context.classrooms.members.length} Students</p>
    </div>
  );
}

ClassroomsOverview.contextTypes = {
  classrooms: PropTypes.object
}

如果我可以使用E6 arrow function syntax制作相同的组件,我会更高兴,如下所示:

import { Component, PropTypes } from 'react';

const ClassroomsOverview = (props, context) => (
    <div>
      <p>{context.classrooms.data.length} Classrooms.</p>
      <p>{context.classrooms.members.length} Students</p>
    </div>
  );

ClassroomsOverview.contextTypes = {
  classrooms: PropTypes.object
}

我已关注this video,但我无法使用箭头语法版本。

有人能指出我做错了吗?

1 个答案:

答案 0 :(得分:6)

您错过了export声明。将其添加到您的模块:

export {ClassroomsOverview as default}

但我建议在函数声明中使用export default语法。