首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >React中定义组件

React中定义组件

作者头像
张苹果
发布2022-09-22 10:04:56
发布2022-09-22 10:04:56
1.3K0
举报
文章被收录于专栏:vaevae

1,函数式组件

PlainBashC++C#CSSDiffHTML/XMLJavaJavascriptMarkdownPHPPythonRubySQL

<body>

<!--准备好一个容器 -->

<div id="text"></div>

<!-- 加载 React。引入react核心库-->

<!-- 注意: 部署时,将 "development.js" 替换为 "production.min.js"。-->

<script src="https://unpkg.com/react@16/umd/react.development.js" crossorigin></script>

<!-- 引入react-dom,用于支持react操作dom-->

<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js" crossorigin></script>

<!--引入babel,用于jsx转为js-->

<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>

<script type="text/babel">/*此处一定要写babel,不写默认js*/

//1,创建函数式组件(首字母大写)

function Demo(){

console.log(this);//undefined,因为babel编译后开启了严格模式

return <h2>我是用函数定义得组件(适用于【简单组件】的定义)</h2>

}

//2,渲染组件到页面

ReactDOM.render(<Demo/>,document.getElementById('text'));

/*

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

1,React解析组件标签,找到了Demo组件

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

*/

</script>

</body>

2,类式组件

PlainBashC++C#CSSDiffHTML/XMLJavaJavascriptMarkdownPHPPythonRubySQL

<body>

<!--准备好一个容器-->

<div id="text"></div>

<!-- 加载 React。引入react核心库-->

<!-- 注意: 部署时,将 "development.js" 替换为 "production.min.js"。-->

<script src="https://unpkg.com/react@16/umd/react.development.js" crossorigin></script>

<!-- 引入react-dom,用于支持react操作dom-->

<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js" crossorigin></script>

<!--引入babel,用于jsx转为js-->

<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>

<script type="text/babel">/*此处一定要写babel,不写默认js*/

//1,创建类式组件 (需要继承react中的类)

class Demo extends React.Component{

render(){

//render 是放在哪里的? ——Demo类的原型对象上,仅供实例使用

//render 中的this是谁?——Demo的实例对象,Demo组件实例对象

console.log("render中的this:",this)

return <h2>我是用类定义得组件(适用于【复杂组件】的定义)</h2>

}

}

// 2,渲染组件到页面

ReactDOM.render(<Demo/>,document.getElementById('text'));

/*

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

1,React解析组件标签,找到了Demo组件

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

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

*/

</script>

</body>

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/02/13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1,函数式组件
  • 2,类式组件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档