[初学求教]ES6和React.createClass你们用哪个?或者说有什么重大的区别

#1

如题:
你们在玩RN的时候,选择用哪种方式构建?或者说什么时候用哪种?求大神给点看法,这两种方式有什么实质上的区别,或者性能,或者其他方面的区别,哪种情况下用哪种好啊,求交流。

class Example extends React.Component {

render() {
return (

    <View style={styles.container}>

    .....

    </View>

);

}
}

var Example = React.createClass ({

render() {
return (

    <View style={styles.container}>

    .....

    </View>

);

}
});

#2

我虽然写React不写RN,但ES6是大势所趋,虽然React生态圈内的部分高手也喜欢 createClass

class 无非少了这两个主要的东西:mixinthis 自动绑定,Facebook和社区都提倡 higher-order-component 思想,所以前者完全不是问题,至于后者facebook的说法是为了避免和JS的语法产生混淆而去掉了

#3

好咧,谢谢了

#4

看了下面ReactNative.cn的参考文档,使用es6的写法确实更好。

#5

proptypes和defaultProps可以放到class内。mixin是注定要被放弃的特性。ES6是大势所趋。尚未发布的RN 0.18版的默认模版已经切换到ES6了。

建议阅读这篇ES6和ES5在React Native中的详细对比

1 Like