我正在为 MobX 看这个小提琴,我也看到了这两种在 ES6 其他地方定义 React 组件的方法,比如 Dan Abramov 的 egghead redux 视频系列。
@observer
class TodoListView extends Component {
render() {
return <div>
<ul>
{this.props.todoList.todos.map(todo =>
<TodoView todo={todo} key={todo.id} />
)}
</ul>
Tasks left: {this.props.todoList.unfinishedTodoCount}
</div>
}
}
const TodoView = observer(({todo}) =>
<li>
<input
type="checkbox"
checked={todo.finished}
onClick={() => todo.finished = !todo.finished}
/>
<input
type="text"
value={todo.title}
onChange={ e => todo.title = e.target.value } />
</li>
);
我的问题是,什么时候适合使用每种类型?
似乎更简单的组件能够使用更简单的语法,但我希望遵循规则或指南。
谢谢!