如题,请问你们写react组件的时候都是只使用同一种方式创建组件的吗?如果写一般的组件通常都是使用class方式来写,然后写一个组件有路由生命周期钩子函数的话使用createClass会方便点吧?本人新上手react 欢迎大神们可以讨论下
如题,请问你们写react组件的时候都是只使用同一种方式创建组件的吗?如果写一般的组件通常都是使用class方式来写,然后写一个组件有路由生命周期钩子函数的话使用createClass会方便点吧?本人新上手react 欢迎大神们可以讨论下
React 官方建议:Normally you would define a React component as a plain JavaScript class。
class定义组件,更为简洁方便,也是官方推荐的。React 16中如果不使用class定义组件的话,则需要引入create-react-class,然后使用它提供的createReactClass方法创建组件,此方法比较繁琐,不推荐使用。两种方法如何混用,相当于一套项目代码中有两套代码风格,绝对是要避免的。
10 回答11.4k 阅读
2 回答2.9k 阅读✓ 已解决
3 回答1.6k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
2 回答2k 阅读✓ 已解决
4 回答2k 阅读✓ 已解决
React的Component分为
stateful
和stateless
两种, 就是中文里所谓的智能组件和木偶组件。两种组件的区别在于: stateful组件包含了state和各种生命周期的hook函数, stateless组件更为简单纯粹。React针对stateless组件做了优化,因此在非必须条件下,使用stateless组件能带来性能上的优势。附上一篇介绍:https://medium.com/@juanguard...
补充:ES6和jsx在React开发当中是更为推荐的选择, createClass在React 15被deprecated, React 16已经移除