实例讲解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 相关文章推荐
Javascript操纵Cookie实现购物车程序
Nov 23 Javascript
读jQuery之七 判断点击了鼠标哪个键的代码
Jun 21 Javascript
js 剪切板应用clipboardData详细解析
Dec 17 Javascript
浅谈EasyUI中编辑treegrid的方法
Mar 01 Javascript
基于Jquery代码实现支持PC端手机端幻灯片代码
Nov 17 Javascript
JS简单实现仿百度控制台输出信息效果
Sep 04 Javascript
详解jQuery中基本的动画方法
Dec 14 Javascript
bootstrap实现的自适应页面简单应用示例
Mar 09 Javascript
vue2.0构建单页应用最佳实战
Apr 01 Javascript
Vue+SpringBoot开发V部落博客管理平台
Dec 27 Javascript
js实现三角形粒子运动
Sep 22 Javascript
vue3+typeScript穿梭框的实现示例
Dec 29 Vue.js
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程序员应该了解MongoDB的五件事
2013/06/03 PHP
关于PHP中Session文件过多的问题及session文件保存位置
2016/03/17 PHP
浅谈PHP5.6 与 PHP7.0 区别
2019/10/09 PHP
有关DOM元素与事件的3个谜题
2010/11/11 Javascript
非阻塞动态加载javascript广告实现代码
2010/11/17 Javascript
JavaScript中函数声明优先于变量声明的实例分析
2012/03/01 Javascript
javascript学习笔记(二) js一些基本概念
2012/06/18 Javascript
Jquery遍历checkbox获取选中项value值的方法
2014/02/13 Javascript
js处理表格对table进行修饰
2014/05/26 Javascript
使用Node.js为其他程序编写扩展的基本方法
2015/06/23 Javascript
学习javascript文件加载优化
2016/02/19 Javascript
JavaScript与ActionScript3两者的同性与差异性
2016/09/22 Javascript
详解用webpack把我们的业务模块分开打包的方法
2017/07/20 Javascript
angular.js实现列表orderby排序的方法
2018/10/02 Javascript
VUE使用 wx-open-launch-app 组件开发微信打开APP功能
2020/08/11 Javascript
JS时间戳与日期格式互相转换的简单方法示例
2021/01/30 Javascript
[02:40]DOTA2英雄基础教程 巨牙海民
2013/12/23 DOTA
举例讲解Python设计模式编程的代理模式与抽象工厂模式
2016/01/16 Python
python通过cookie模拟已登录状态的初步研究
2016/11/09 Python
python中异常捕获方法详解
2017/03/03 Python
Python中int()函数的用法浅析
2017/10/17 Python
Python实现k-means算法
2018/02/23 Python
python和mysql交互操作实例详解【基于pymysql库】
2019/06/04 Python
通过实例了解Python str()和repr()的区别
2020/01/17 Python
scrapy-redis分布式爬虫的搭建过程(理论篇)
2020/09/29 Python
中国最大的团购网站:聚划算
2016/09/21 全球购物
Parfumdreams芬兰:购买香水和化妆品
2021/02/13 全球购物
Weblogic和WebSphere不同特点
2012/05/09 面试题
酒店前台接待岗位职责
2013/12/03 职场文书
法学专业毕业生自荐信范文
2013/12/18 职场文书
事业单位考核材料
2014/05/21 职场文书
工程索赔意向书
2014/08/30 职场文书
2014年小学国庆节活动方案
2014/09/16 职场文书
给下属加薪申请报告
2015/05/15 职场文书
Vue详细的入门笔记
2021/05/10 Vue.js
Python编写车票订购系统 Python实现快递收费系统
2022/08/14 Python