React中定义组件

news/2024/7/19 15:30:37 标签: react, js, javascript, reactjs, html
htmledit_views">

函数式组件

1.准备好一个容器

html"><div id="test"></div>

2.创建函数式组件

html" title=javascript>javascript">function MyComponent(){
			console.log(this); //此处的this是undefined,因为babel编译后开启了严格模式
			return <h2>我是用函数定义的组件(适用于【简单组件】的定义)</h2>
		}

3.渲染组件到页面

html" title=javascript>javascript">ReactDOM.render(<MyComponent/>,document.getElementById('test'))

函数式组件总结

执行了ReactDOM.render(<MyComponent/>.......之后,发生了什么?

1.React 解析组件标签,找到了 MyComponent 组件。

2.发现组件是使用函数定义的,随后调用该函数,将返回的虚拟 DOM 转为真实 DOM,随后呈现在页面中。

类式组件

1.准备好一个容器

html"><div id="test"></div>

2.创建类式组件 

html" title=javascript>javascript">class MyComponent extends React.Component {
			render(){
				//render是放在哪里的?—— MyComponent的原型对象上,供实例使用。
				//render中的this是谁?—— MyComponent的实例对象 <=> MyComponent组件实例对象。
				console.log('render中的this:',this);
				return <h2>我是用类定义的组件(适用于【复杂组件】的定义)</h2>
			}
		}

3.渲染组件到页面

html" title=javascript>javascript">ReactDOM.render(<MyComponent/>,document.getElementById('test'))

类式组件总结

执行了ReactDOM.render(<MyComponent/>.......之后,发生了什么?

1.React 解析组件标签,找到了MyComponent 组件。

2.发现组件是使用类定义的,随后 new 出来该类的实例,并通过该实例调用到原型上的 render 方法。

3.将 render 返回的虚拟 DOM 转为真实 DOM,随后呈现在页面中。


http://www.niftyadmin.cn/n/1527301.html

相关文章

华为交换机在vlanif下绑定IP地址和MAC

首先&#xff0c;我是在vlanif下启用dhcp的。 [2#-1F-Core1-Vlanif2]display this # interface Vlanif2 ip address 172.16.15.1 255.255.254.0 dhcp select interface dhcp server excluded-ip-address 172.16.15.80 172.16.15.254 dhcp server static-bind ip-address …

IP 报文格式大全

IP 报文格式大全 https://support.huawei.com/hedex/hdx.do?docidEDOC1000105967 报文格式查询&#xff1a; https://info.support.huawei.com/network/infofinder/openPacketFormatPage?module6&langzh

原型和原型链简述(prototype、_proto_)

原型链 __proto__ 原型 使用 __proto__ 串联起来的对象链状结构 从任何一个数据结构出发, 最终都能找到 Object.prototype 作用: 为了对象访问机制 > 当你需要访问一个对象的成员的时候 > 首先在自己身上查找, 自己身上有, 就直接使用, 停止查找 > 自己没有, 就会…

如何进入Microsoft 安全公告

首先打开这个URI https://docs.microsoft.com/ 打开以后&#xff0c;在里面随便输入一个已知的security bulletins&#xff08;安全公告&#xff09;编号&#xff0c;例如&#xff1a;ms17-010&#xff0c;这个就是大名鼎鼎的永恒之蓝的安全漏洞&#xff0c;Microsoft Window…

Git使用流程(超级详细,值得收藏!)

目录 git 安装 git 首次安装需要进行的配置 git 管理本地文件夹 git 仓库是什么样子的 ? 上传到远程 下载到本地 git 的分支 git 的冲突 和 git 相关的几个文件 git常用命令 1.$ git clone [address] # 复制代码库到本地2.$ git add [file] … # 添加文件到代码库中3.$…

在微软AD域环境下批量部署安装软件

第一步&#xff1a;要保证你的软件是MSI格式的。如果不是&#xff0c;请看第二步。 第二步&#xff1a;制作MSI安装包&#xff0c;我用了Advanced Installer 制作msi安装包 2.1 网上下载的exe的软件&#xff0c;请先将这个软件安装一次&#xff0c;安装好以后&#xff0c;会在…

Vue中的过滤器(filter)

过滤器的写法 首先&#xff0c;过滤器可在new Vue实例前注册全局的&#xff0c;也可以在组件上写局部。 全局过滤器&#xff1a; Vue.filter(globalFilter, function (value) {return value "!!!"}) 组件过滤器&#xff08;局部&#xff09;&#xff1a; filte…

Wireshark Limit each packet to 80 bytes

今天在winxp中安装了1.10.7 版本wireshark来做一个试验&#xff0c;试验中我只需要抓TCP和IP包&#xff0c;所以要在Wireshark: Capture Options的窗口中把每个数据包的大小&#xff08;就是Limit each packet to&#xff09;限制为80字节&#xff0c;按ctrlK调出Wireshark: Ca…