您现在的位置是:亿华云 > IT科技
面试官:React构建组件的方式有哪些?区别是什么?
亿华云2025-10-03 21:53:32【IT科技】5人已围观
简介本文转载自微信公众号「JS每日一题」,作者灰灰 。转载本文请联系JS每日一题公众号。一、React组件是什么组件就是把图形、非图形的各种逻辑均抽象为一个统一的概念(组件)来实现开发的模式在React中
本文转载自微信公众号「JS每日一题」,面试作者灰灰 。官R构建转载本文请联系JS每日一题公众号。组件
一、区别React组件是面试什么
组件就是把图形、非图形的官R构建各种逻辑均抽象为一个统一的概念(组件)来实现开发的模式
在React中,一个类、组件一个函数都可以视为一个组件
在Vue系列中,区别我们了解到组件所存在的面试优势:
降低整个系统的耦合度,在保持接口不变的官R构建情况下,我们可以替换不同的组件组件快速完成需求,例如输入框,区别可以替换为日历、面试时间、官R构建范围等组件作具体的组件实现 调试方便,由于整个系统是通过组件组合起来的,在出现问题的时候,可以用排除法直接移除组件,亿华云或者根据报错的组件快速定位问题,之所以能够快速定位,是因为每个组件之间低耦合,职责单一,所以逻辑会比分析整个系统要简单 提高可维护性,由于每个组件的职责单一,并且组件在系统中是被复用的,所以对代码进行优化可获得系统的整体升级二、如何构建
在React目前来讲,组件的创建主要分成了三种方式:
函数式创建 通过 React.createClass 方法创建 继承 React.Component 创建函数式创建
在React Hooks出来之前,函数式组件可以视为无状态组件,只负责根据传入的props来展示视图,不涉及对state状态的操作
大多数组件可以写为无状态组件,通过简单组合构建其他组件
在React中,通过函数简单创建组件的示例如下:
function HelloComponent(props, /* context */) { return <div>Hello { props.name}</div> }通过 React.createClass 方法创建
React.createClass是react刚开始推荐的创建组件的方式,目前这种创建方式已经不怎么用了
像上述通过函数式创建的组件的站群服务器方式,最终会通过babel转化成React.createClass这种形式,转化成如下:
function HelloComponent(props) /* context */{ return React.createElement( "div", null, "Hello ", props.name ); }由于上述的编写方式过于冗杂,目前基本上不使用上
继承 React.Component 创建
同样在react hooks出来之前,有状态的组件只能通过继承React.Component这种形式进行创建
有状态的组件也就是组件内部存在维护的数据,在类创建的方式中通过this.state进行访问
当调用this.setState修改组件的状态时,组件会再次会调用render()方法进行重新渲染
通过继承React.Component创建一个时钟示例如下:
class Timer extends React.Component { constructor(props) { super(props); this.state = { seconds: 0 }; } tick() { this.setState(state => ({ seconds: state.seconds + 1 })); } componentDidMount() { this.interval = setInterval(() => this.tick(), 1000); } componentWillUnmount() { clearInterval(this.interval); } render() { return ( <div> Seconds: { this.state.seconds} </div> ); } }三、区别
由于React.createClass创建的方式过于冗杂,并不建议使用
而像函数式创建和类组件创建的区别主要在于需要创建的组件是否需要为有状态组件:
对于一些无状态的组件创建,建议使用函数式创建的方式 由于react hooks的出现,函数式组件创建的组件通过使用hooks方法也能使之成为有状态组件,再加上目前推崇函数式编程,所以这里建议都使用函数式的方式来创建组件在考虑组件的选择原则上,香港云服务器能用无状态组件则用无状态组件
参考文献
https://react.docschina.org/
很赞哦!(136)
下一篇: 国内域名
相关文章
- 只要我们做的是从目前的市场情况选择域名,从简单易记,从个性特征上,我们就可以找到一个好域名进行注册。域名注册进行域名记录和解析以及绑定网站后,客户可以通过URL登录您的网站。
- 分库分表实战:激流勇进-千万级数据优化之加缓存
- 数据库产品用什么抓住用户
- Oracle临时表空间删除和重建过程分享
- 域名不仅仅是一个简单的网站。对于有长远眼光的公司来说,在运营网站之前确定一个优秀的域名对有长远眼光的公司来说是非常重要的。这对今后的市场营销、产品营销和企业品牌建设都具有十分重要的意义。优秀的域名是企业在市场竞争中获得持久优势的利器。
- 七步让您的MySQL服务器更安全
- 什么是贝叶斯定理?朴素贝叶斯有多“朴素”?终于有人讲明白了
- 域名交易:如何买卖域名的指南
- CNAME:对应解析的记录值为域名地址
- 企业域名注册的方法