素材牛VIP会员
React.createClass 与ES6 class能混着用吗
 真***溜  分类:Html5  人气:1162  回帖:2  发布于6年前 收藏

如题,请问你们写react组件的时候都是只使用同一种方式创建组件的吗?如果写一般的组件通常都是使用class方式来写,然后写一个组件有路由生命周期钩子函数的话使用createClass会方便点吧?本人新上手react 欢迎大神们可以讨论下

讨论这个帖子(2)垃圾回帖将一律封号处理……

Lv3 码奴
65***14 PHP开发工程师 6年前#1

React 官方建议:Normally you would define a React component as a plain JavaScript class。

class定义组件,更为简洁方便,也是官方推荐的。React 16中如果不使用class定义组件的话,则需要引入create-react-class,然后使用它提供的createReactClass方法创建组件,此方法比较繁琐,不推荐使用。两种方法如何混用,相当于一套项目代码中有两套代码风格,绝对是要避免的。

Lv4 码徒
鬼***0 JAVA开发工程师 6年前#2

React的Component分为statefulstateless两种, 就是中文里所谓的智能组件和木偶组件。两种组件的区别在于: stateful组件包含了state和各种生命周期的hook函数, stateless组件更为简单纯粹。React针对stateless组件做了优化,因此在非必须条件下,使用stateless组件能带来性能上的优势。

附上一篇介绍:https://medium.com/@juanguard...

补充:ES6和jsx在React开发当中是更为推荐的选择, createClass在React 15被deprecated, React 16已经移除

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取