实例讲解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 相关文章推荐
jQuery 位置函数offset,innerWidth,innerHeight,outerWidth,outerHeight,scrollTop,scrollLeft
Mar 23 Javascript
在JavaScript里防止事件函数高频触发和高频调用的方法
Sep 06 Javascript
javascript简单实现图片预加载
Dec 03 Javascript
jQuery插件MixItUp实现动画过滤和排序
Apr 12 Javascript
jQuery焦点图左右转换效果
Dec 12 Javascript
javascript删除html标签函数cIsHTML
Jan 09 Javascript
Ionic2开发环境搭建教程
Aug 20 Javascript
Vue中正确使用jQuery的方法
Oct 30 jQuery
javascript 数组精简技巧小结
Feb 26 Javascript
javascript实现简易数码时钟
Mar 30 Javascript
vue-router的hooks用法详解
Jun 08 Javascript
浅谈JavaScript作用域
Dec 06 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
重置版游戏视频
2020/04/09 魔兽争霸
Windows中安装Apache2和PHP4权威指南
2006/11/18 PHP
PHP 防恶意刷新实现代码
2010/05/16 PHP
php中数组首字符过滤功能代码
2012/07/31 PHP
ThinkPHP登录功能的实现方法
2014/08/20 PHP
必须收藏的23个php实用代码片段
2016/02/02 PHP
PHP的数组中提高元素查找与元素去重的效率的技巧解析
2016/03/03 PHP
php 截取GBK文档某个位置开始的n个字符方法
2017/03/08 PHP
Auntion-TableSort国人写的一个javascript表格排序的东西
2007/11/12 Javascript
40个有创意的jQuery图片、内容滑动及弹出插件收藏集之一
2011/12/31 Javascript
javascript操作html控件实例(javascript添加html)
2013/12/02 Javascript
document.execCommand()的用法小结
2014/01/08 Javascript
js触发onchange事件的方法说明
2014/03/08 Javascript
学习JavaScript设计模式之享元模式
2016/01/18 Javascript
jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)
2016/05/16 Javascript
如何使用angularJs
2017/05/08 Javascript
详解vue+webpack+express中间件接口使用
2018/07/17 Javascript
vue.js自定义组件directives的实例代码
2018/11/09 Javascript
express如何解决ajax跨域访问session失效问题详解
2019/06/20 Javascript
解决layui数据表格table的横向滚动条显示问题
2019/09/04 Javascript
JS插入排序简单理解与实现方法分析
2019/11/25 Javascript
vue学习笔记之过滤器的基本使用方法实例分析
2020/02/01 Javascript
基于vue和bootstrap实现简单留言板功能
2020/05/30 Javascript
微信小程序学习之自定义滚动弹窗
2020/12/20 Javascript
对Python中创建进程的两种方式以及进程池详解
2019/01/14 Python
python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)
2020/01/08 Python
Django使用Celery加redis执行异步任务的实例内容
2020/02/20 Python
python 实现任务管理清单案例
2020/04/25 Python
车间班长岗位职责
2013/11/30 职场文书
幼儿园家长会邀请函
2014/01/15 职场文书
《最大的麦穗》教学反思
2014/04/17 职场文书
2014年党总支工作总结
2014/12/18 职场文书
2016个人廉洁自律承诺书
2016/03/25 职场文书
2019最新激励员工口号大全!
2019/06/28 职场文书
pytorch Dropout过拟合的操作
2021/05/27 Python
Java各种比较对象的方式的对比总结
2021/06/20 Java/Android