我最近发现了无状态组件的乐趣。例如,这让我很开心(而且很有效):
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,但我无法使用箭头语法版本。
有人能指出我做错了吗?
答案 0 :(得分:6)
您错过了export
声明。将其添加到您的模块:
export {ClassroomsOverview as default}
但我建议在函数声明中使用export default
语法。