实例讲解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 表格操作(交替显示、拖动表格行、选择行等)
Jul 29 Javascript
javascript中DOM复选框选择用法实例
May 14 Javascript
JavaScript中Window对象的属性及事件
Dec 25 Javascript
javascript数据类型验证方法
Dec 31 Javascript
Angularjs中使用Filters详解
Mar 11 Javascript
AngularJS基础 ng-keydown 指令简单示例
Aug 02 Javascript
Bootstrap 源代码分析(未完待续)
Aug 17 Javascript
JavaScript中使用webuploader实现上传视频功能(demo)
Apr 10 Javascript
Angular 2父子组件数据传递之@ViewChild获取子组件详解
Jul 04 Javascript
Vue.js分页组件实现:diVuePagination的使用详解
Jan 10 Javascript
js实现计时器秒表功能
Dec 16 Javascript
js实现数字滚动特效
Dec 16 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
水质对咖图啡风味的影响具体有哪些
2021/03/03 冲泡冲煮
php的ajax框架xajax入门与试用介绍
2010/12/19 PHP
php目录操作函数之获取目录与文件的类型
2010/12/29 PHP
PHP 正则判断中文UTF-8或GBK的思路及具体实现
2013/11/26 PHP
Yii2主题(Theme)用法详解
2016/07/23 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
IE下js调试工具Companion.JS
2010/10/15 Javascript
Javascript 鼠标移动上去小三角形滑块缓慢跟随效果
2013/04/26 Javascript
判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解
2013/11/07 Javascript
Javascript基础教程之数据类型 (布尔型 Boolean)
2015/01/18 Javascript
JavaScript实现移动端轮播效果
2017/06/06 Javascript
JavaScript方法_动力节点Java学院整理
2017/06/28 Javascript
require.js中的define函数详解
2017/07/10 Javascript
vue loadmore组件上拉加载更多功能示例代码
2017/07/19 Javascript
一步步教会你微信小程序的登录鉴权
2018/04/09 Javascript
Vue不能观察到数组length的变化
2018/06/08 Javascript
vue-element-admin 菜单标签失效的解决方式
2019/11/12 Javascript
JavaScript运动原理基础知识详解
2020/04/02 Javascript
解决vue字符串换行问题(绝对管用)
2020/08/06 Javascript
angular共享依赖的解决方案分享
2020/10/15 Javascript
Python3基础之基本数据类型概述
2014/08/13 Python
python生成特定分布数的实例
2019/12/05 Python
python实现用户名密码校验
2020/03/18 Python
Python如何脚本过滤文件中的注释
2020/05/27 Python
Python通过类的组合模拟街道红绿灯
2020/09/16 Python
英国女士家居服网站:hush
2017/08/09 全球购物
2013年员工自我评价范文
2013/12/27 职场文书
化妆师职业生涯规划书
2014/02/16 职场文书
廉洁自律承诺书
2014/03/27 职场文书
代办委托书怎样写
2014/04/08 职场文书
法英专业大学生职业生涯规划书范文
2014/09/22 职场文书
村主任“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
学生党员批评与自我批评
2014/10/15 职场文书
重温入党誓词主持词
2015/06/29 职场文书
2016年三八节红领巾广播稿
2015/12/17 职场文书
详解用Python把PDF转为Word方法总结
2021/04/27 Python