React 官方推出的三种构造组件的方法:
React.createClass、ES6 classes、无状态函数(stateless function)。
下面仅简单介绍一下无状态函数:
使用无状态函数构建的组件成为无状态组件,这种构建的方式是0.14版本之后新增的,官方也比较推崇:
简单的代码实例:
function Button({ color = 'blue' , text = 'Confirm' }){
return (
<button className={'btn btn-${color}'}>
<em>{text}</em>
</button>
);
}
无状态组件只传入props和context两个参数,也就是说,它不存在state,也没有生命周期方法。不过像propTypes和defaultProps还是可以通过静态的方法设置静态属性来实现的。
在合适的情况下,我们应该积极的使用无状态的组件,因为无状态组件在创建时始终保持一个实例,避免了不必要的检查和内存分配,做到内部的优化。