-
8. React.createClass 和 extends Component 的区别有哪些?
8. React.createClass 和 extends Component 的区别有哪些?
主要区别
语法区别
createClass 本质上是一个工厂函数, extends 的方式更加接近最新的 ES6 规范的 class 写法。两种方式在语法上的差别主要体现在方法的定义和静态属性的声明上createClass 方式的方法定义使用逗号, 隔开, 因为 creatClass 本质上是一个函数, 传递给它的是一个 Object; 而 class 的方式定义方法时务必谨记不要使用逗号隔开, 这是 ES6 class 的语法规范
propType 和 getDefaultProps
React.createClass: 通过 proTypes 对象和 getDefaultProps() 方法来设置和获取 propsReact.Component: 通过设置两个属性 propTypes 和 defaultProps
状态的区别
React.createClass: 通过 getInitialState() 方法返回一个包含初始值的对象React.Component: 通过 constructor 设置初始状态
this区别
React.createClass: 会正确绑定 thisReact.Component: 由于使用了 ES6, 这里会有些微不同, 属性并不会自动绑定到 React 类的实例上
Mixins
React.createClass: 使用 React.createClass 的话, 可以在创建组件时添加一个叫做 mixins 的属性, 并将可供混合的类的集合以数组的形式赋给 mixins- 如果使用
ES6 的方式来创建组件, 那么 React mixins 的特性将不能被使用了
-
相关阅读:
[go 面试] 构建高效微服务通信:选择合适的通信方式
del键出现问题无法删除的解决方法
搭建靶场没有弹出登陆界面
05_Bootstrap插件02
DevOps平台中的制品库是什么?有什么用处?
软件设计模式系列之十八——迭代器模式
QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图
开放域类型发现:Open Relation and Event Type Discovery with Type Abstraction
Spring Boot 配置文件这样加密,才足够安全!
java计算机毕业设计基于springboo+vue的 大学生社团管理系统
-
原文地址:https://blog.csdn.net/m0_51180924/article/details/126578365