实例讲解React 组件


Posted in Javascript onJuly 07, 2020

本章节我们将讨论如何使用组件使得我们的应用更容易来管理。

接下来我们封装一个输出 "Hello World!" 的组件,组件名为 HelloMessage:

function HelloMessage(props) {
 return <h1>Hello World!</h1>;
}
 
const element = <HelloMessage />;
 
ReactDOM.render(
 element,
 document.getElementById('example')
);

实例解析:

1、我们可以使用函数定义了一个组件:

function HelloMessage(props) {
 return <h1>Hello World!</h1>;
}

你也可以使用 ES6 class 来定义一个组件:

class Welcome extends React.Component {
 render() {
 return <h1>Hello World!</h1>;
 }
}

2、const element = <HelloMessage /> 为用户自定义的组件。

注意,原生 HTML 元素名以小写字母开头,而自定义的 React 类名以大写字母开头,比如 HelloMessage 不能写成 helloMessage。除此之外还需要注意组件类只能包含一个顶层标签,否则也会报错。

如果我们需要向组件传递参数,可以使用 this.props 对象,实例如下:

function HelloMessage(props) {
 return <h1>Hello {props.name}!</h1>;
}
 
const element = <HelloMessage name="3water"/>;
 
ReactDOM.render(
 element,
 document.getElementById('example')
);

以上实例中 name 属性通过 props.name 来获取。

注意,在添加属性时, class 属性需要写成 className ,for 属性需要写成 htmlFor ,这是因为 class 和 for 是 JavaScript 的保留字。

复合组件

我们可以通过创建多个组件来合成一个组件,即把组件的不同功能点进行分离。

以下实例我们实现了输出网站名字和网址的组件:

function Name(props) {
 return <h1>网站名称:{props.name}</h1>;
}
function Url(props) {
 return <h1>网站地址:{props.url}</h1>;
}
function Nickname(props) {
 return <h1>网站小名:{props.nickname}</h1>;
}
function App() {
 return (
 <div>
  <Name name="三水点靠木" />
  <Url url="https://3water.com/" />
  <Nickname nickname="3water" />
 </div>
 );
}
 
ReactDOM.render(
  <App />,
 document.getElementById('example')
);

输出结果:

实例讲解React 组件

以上就是实例讲解React 组件的详细内容,更多关于React 组件的资料请关注三水点靠木其它相关文章!

Javascript 相关文章推荐
Use Word to Search for Files
Jun 15 Javascript
网页中的图片的处理方法与代码
Nov 26 Javascript
fancybox modal的完美解决(右上的X)
Oct 30 Javascript
JavaScript1.6数组新特性介绍以及JQuery的几个工具方法
Dec 06 Javascript
判断某个字符在一个字符串中是否存在的js代码
Feb 28 Javascript
jQuery formValidator表单验证
Jan 07 Javascript
第一次接触神奇的Bootstrap
Oct 14 Javascript
最常用的jQuery表单验证(简单)
May 23 jQuery
Node.js如何使用Diffie-Hellman密钥交换算法详解
Sep 05 Javascript
详解ES6中的Map与Set集合
Mar 22 Javascript
教你完全理解ReentrantLock重入锁
Jun 03 Javascript
微信小程序实现传递多个参数与事件处理
Aug 12 Javascript
JavaScript eval()函数定义及使用方法详解
Jul 07 #Javascript
详解React 元素渲染
Jul 07 #Javascript
JS数据类型判断的几种常用方法
Jul 07 #Javascript
JavaScript实现像雪花一样的Hexaflake分形
Jul 07 #Javascript
jQuery 实现扁平式小清新导航
Jul 07 #jQuery
vue@cli3项目模板怎么使用public目录下的静态文件
Jul 07 #Javascript
JS实现移动端可折叠导航菜单(现代都市风)
Jul 07 #Javascript
You might like
php合并数组array_merge函数运算符加号与的区别
2008/10/31 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
2014/08/15 PHP
通过php删除xml文档内容的方法
2015/01/23 PHP
详解PHP执行定时任务的实现思路
2015/12/21 PHP
php通过两层过滤获取留言内容的方法
2016/07/11 PHP
php实现在新浪云中使用imagick生成缩略图并上传的方法
2016/09/26 PHP
用js计算页面执行时间的函数
2006/12/07 Javascript
JS判断是否长按某一键的方法
2016/03/02 Javascript
JS判断元素是否在数组内的实现代码
2016/03/30 Javascript
RequireJS多页面应用实例分析
2016/06/29 Javascript
React中使用collections时key的重要性详解
2017/08/07 Javascript
Vuex中mutations与actions的区别详解
2018/03/01 Javascript
移动端滑动切换组件封装 vue-swiper-router实例详解
2018/11/25 Javascript
浅析vue-cli3配置webpack-bundle-analyzer插件【推荐】
2019/10/23 Javascript
layui表格设计以及数据初始化详解
2019/10/26 Javascript
JS数组方法push()、pop()用法实例分析
2020/01/18 Javascript
js判断密码强度的方法
2020/03/18 Javascript
vue自定义指令限制输入框输入值的步骤与完整代码
2020/08/30 Javascript
[02:32]DOTA2英雄基础教程 祸乱之源
2013/12/23 DOTA
从零学Python之入门(三)序列
2014/05/25 Python
python实现一次创建多级目录的方法
2015/05/15 Python
在Django的视图中使用form对象的方法
2015/07/18 Python
使用python读取csv文件快速插入数据库的实例
2018/06/21 Python
使用pytorch实现可视化中间层的结果
2019/12/30 Python
python 下载m3u8视频的示例代码
2020/11/11 Python
Pycharm 设置默认解释器路径和编码格式的操作
2021/02/05 Python
使用Python爬取小姐姐图片(beautifulsoup法)
2021/02/11 Python
绢花、人造花和人造花卉:BLOOM
2019/08/07 全球购物
超市实习总结自我鉴定
2013/09/19 职场文书
文言文形式的学生求职信
2013/12/03 职场文书
技校毕业生自荐信范文
2014/03/07 职场文书
应聘销售主管的求职信
2014/04/26 职场文书
优秀三好学生事迹材料
2014/08/31 职场文书
保险公司演讲稿
2014/09/02 职场文书
交通事故赔偿协议书
2014/10/16 职场文书
2015个人年度工作总结范文
2015/05/28 职场文书