实例讲解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 相关文章推荐
一些常用的JS功能函数代码
Jun 23 Javascript
关于javascript中的parseInt使用技巧
Sep 03 Javascript
JS打开新窗口的2种方式
Apr 18 Javascript
js清除input中type等于file的值域(示例代码)
Dec 24 Javascript
原生JS实现N级菜单的代码
May 21 Javascript
vue2.0 和 animate.css的结合使用
Dec 12 Javascript
详解vue项目打包后通过百度的BAE发布到网上的流程
Mar 05 Javascript
详解微信小程序获取当前时间及日期的方法
Apr 28 Javascript
js实现图片推拉门效果代码实例
May 18 Javascript
vue中使用[provide/inject]实现页面reload的方法
Sep 30 Javascript
Vue中jsx不完全应用指南小结
Nov 01 Javascript
手把手教你实现 Promise的使用方法
Sep 02 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
用 Composer构建自己的 PHP 框架之构建路由
2014/10/30 PHP
php利用事务处理转账问题
2015/04/22 PHP
PHP实现对png图像进行缩放的方法(支持透明背景)
2015/07/15 PHP
Zend Framework开发入门经典教程
2016/03/23 PHP
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
2016/05/18 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
PHP实现Snowflake生成分布式唯一ID的方法示例
2020/08/30 PHP
jquery validate.js表单验证的基本用法入门
2010/05/13 Javascript
高效的表格行背景隔行变色及选定高亮的JS代码
2010/12/04 Javascript
jquery获取焦点和失去焦点事件代码
2013/04/21 Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
2016/12/27 Javascript
Vue中的slot使用插槽分发内容的方法
2018/03/01 Javascript
vue侧边栏动态生成下级菜单的方法
2018/09/07 Javascript
vue之延时刷新实例
2019/11/14 Javascript
Vue 解决通过this.$refs来获取DOM或者组件报错问题
2020/07/28 Javascript
Vue 的 v-model用法实例
2020/11/23 Vue.js
Python递归遍历列表及输出的实现方法
2015/05/19 Python
Python实现二分查找算法实例
2015/05/26 Python
Python中内置的日志模块logging用法详解
2016/07/12 Python
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
Python之两种模式的生产者消费者模型详解
2018/10/26 Python
python实现动态创建类的方法分析
2019/06/25 Python
python用Tkinter做自己的中文代码编辑器
2020/09/07 Python
如何使用 Flask 做一个评论系统
2020/11/27 Python
加拿大便宜的隐形眼镜商店:Clearly
2016/09/15 全球购物
亚历山大·王官网:Alexander Wang
2017/06/23 全球购物
意大利比基尼品牌:MISS BIKINI
2019/11/02 全球购物
北美最大的零售退货翻新商:VIP Outlet
2019/11/21 全球购物
幼儿园英语教学反思
2014/01/30 职场文书
幼儿园优秀教师事迹
2014/02/13 职场文书
四风问题个人对照检查材料
2014/09/26 职场文书
公安局副政委班子个人对照检查材料
2014/10/04 职场文书
优秀班主任申报材料
2014/12/16 职场文书
教师师德承诺书2016
2016/03/25 职场文书
导游词之广州陈家祠
2019/10/21 职场文书
解决Python中的modf()函数取小数部分不准确问题
2021/05/28 Python