const TodoList = ({ todos, onTodoClick }) => (
<ul>
{todos.map(todo =>
<Todo
key={todo.id}
{...todo}
onClick={() => onTodoClick(todo.id)}
/>
)}
</ul>
)
这里如果用 React.createClass 这种方式改怎么写,然后上面这种写法是ES6语法吗?
这个是react v0.14引入的无状态函数组件写法,案例中用到了参数结构和箭头函数的ES6写法,具体去查看官方文档
转换成createClass也是很简单的
const TodoList = React.createClass({
render() {
return (
<ul>
{todos.map(todo =>
<Todo
key={todo.id}
{...todo}
onClick={() => onTodoClick(todo.id)}
/>
}
</ul>
)
}
})
这个应该是个内部函数,不是createClass的用法
createClas的用法应对extends Components
http://reactnative.cn/post/15
这里有一篇ES5 ES6语法对照表 , 快去看看把