React 面向组件编程
React 函数式组件
- 创建函数式组件
function MyComponent() {
console.log(this); // 此处的 this 是 undefined,用为 babel 编译后开启了严格模式
return <h2>我是函数定义的组件(适用于简单组件的定义)</h2>;
}
- 渲染组件到页面
ReactDOM.render(<MyComponent />,document.getElementById('test'));
- 执行了
ReactDOM.render(<MyComponent />,......);
发生了什么?- React 解析组件标签,找到了 MyComponent 组件
- 发现组件是函数定义的,随后调用该函数,将返回的虚拟 DOM 转为 真实 DOM,随后呈现在页面中
注意
- 函数首字母必须大写
- 函数必须有返回值
- 标签必须闭合
类式组件
- 创建类式组件
class MyComponent extends React.Component {
render() {
// render 是放在 MyComponent 的原型对象上,供实例使用
console.log(this); //render 中的 this 是 MyComponent (组件)实例对象
return <h2>我是类定义的组件(适用于复杂组件的定义)</h2>;
}
}
- 渲染组件到页面
ReactDOM.render(<MyComponent />,document.getElementById('test'));
- 执行了
ReactDOM.render(<MyComponent />,......);
发生了什么?- React 解析组件标签,找到了 MyComponent 组件
- 发现组件是类定义的,随后 new 出来该类的实例,并通过该实例调用到原型上的 render 方法
- 将render返回的虚拟 DOM 转为 真实 DOM,随后呈现在页面中
注意
- 类首字母必须大写
- 函数必须有 render 方法
- 标签必须闭合
本文来自博客园,作者:懒惰ing,转载请注明原文链接:https://www.cnblogs.com/landuo629/p/14548594.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2020-03-17 小程序的配置文件
2020-03-17 markdown 常见用法
2020-03-17 小程序开发前准备