javascript - react中class xx extends component{}和React.createClass({})的区别?
PHPz
PHPz 2017-04-11 11:35:09
[JavaScript讨论组]

用哪个比较好?

PHPz
PHPz

学习是最好的投资!

全部回复(5)
PHP中文网

第一种比较好, 第一种是现在ES6的写法,第二种是之前ES5的写法, ES6现在用的越来越多了..
而且,第一种不是更清晰简洁吗..

高洛峰

class xx extends Component{}是ES6的写法,会自动继承Component里面的属性
React.createClass({})是React的ES5写法,会生成一个React Component

  • 最明显的区别当然是写法的不同,这个不多说,主要是如果用第一种写法,需要用babel进行编译,才能使用

  • React.createClass({})会自动绑定下面所有方法this,而第一种写法不会(箭头函数例外),所以才会看到很多用第一种写法的人在事件的callback上面用'bind(this)'来进行绑定。

感觉第一种方法比较好,可能是因为我之前比较喜欢写java的原因,更喜欢ES6的写法,感觉更简洁一点。

PHPz

ES6和ES5写法的区别,建议第一种

PHPz

没有什么好坏,只是随着时间的写法在不断变化而已。都看个人习惯,有人就喜欢ES5,那就用第二种写法。喜欢ES6就用第一种。ES6现在很火,也是趋势,值得学习。

PHP中文网

楼主看这里--->React Native 的ES5 ES6写法对照表

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号