-
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 的特性将不能被使用了
-
相关阅读:
优先队列题目:多次求和构造目标数组
js split , slice, splice 三者区别
克服网络安全压力:如何掌控无限的云数据
【算法刷题 | 栈】3.16(有效的括号、删除字符串中的所有相邻重复项、逆波兰表达式求值)
ctf中ping命令执行绕过
第12讲:DQL数据查询语句的执行顺序以及语句汇总
2023Web前端开发面试手册
【Java设计模式 常用编程设计原则】KISS、YAGNI和DRY原则
012--python之文件操作
合理运用ChatGPT使用Python编写一个桌面便签应用
-
原文地址:https://blog.csdn.net/m0_51180924/article/details/126578365