实例讲解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 获取当前时间戳的代码
Aug 05 Javascript
jQuery技巧总结
Jan 01 Javascript
ThinkJS中如何使用MongoDB的CURD操作
Dec 13 Javascript
详解在express站点中使用ejs模板引擎
Sep 21 Javascript
Scala解析Json字符串的实例详解
Oct 11 Javascript
vue框架搭建之axios使用教程
Jul 11 Javascript
vue router 配置路由的方法
Jul 26 Javascript
react高阶组件添加和删除props
Apr 26 Javascript
Vue实现购物车的全选、单选、显示商品价格代码实例
May 06 Javascript
微信小程序实现传递多个参数与事件处理
Aug 12 Javascript
基于vue-cli3创建libs库的实现方法
Dec 04 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
Nov 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
PHP魔术引号所带来的安全问题分析
2014/07/15 PHP
php简单实现数组分页的方法
2016/04/30 PHP
/etc/php-fpm.d/www.conf 配置注意事项
2017/02/04 PHP
Django中的cookie与session操作实例代码
2017/08/17 PHP
PHP数组式访问接口ArrayAccess用法分析
2017/12/28 PHP
php伪静态验证码不显示的解决方案
2019/09/26 PHP
javascript中的location用法简单介绍
2007/03/07 Javascript
将input file的选择的文件清空的两种解决方案
2013/10/21 Javascript
javascript自定义函数参数传递为字符串格式
2014/07/29 Javascript
jQuery中delegate()方法用法实例
2015/01/19 Javascript
JS模拟并美化的表单控件完整实例
2015/08/19 Javascript
js鼠标点击图片切换效果代码分享
2015/08/26 Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
2015/10/08 Javascript
javascript下拉列表菜单的实现方法
2015/11/18 Javascript
限制只能输入数字的实现代码
2016/05/16 Javascript
Vue.extend构造器的详解
2017/07/17 Javascript
妙用缓存调用链实现JS方法的重载
2018/04/30 Javascript
你了解vue3.0响应式数据怎么实现吗
2019/06/07 Javascript
Vue.js如何使用Socket.IO的示例代码
2019/09/05 Javascript
node.js中 redis 的安装和基本操作示例
2020/02/10 Javascript
Vue实现todo应用的示例
2021/02/20 Vue.js
使用Python对IP进行转换的一些操作技巧小结
2015/11/09 Python
pytorch + visdom CNN处理自建图片数据集的方法
2018/06/04 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
python爬取音频下载的示例代码
2020/10/19 Python
澳大利亚领先的孕妇服装品牌:Mamaway
2018/08/14 全球购物
描述一下JVM加载class文件的原理机制
2013/12/08 面试题
《日月潭》教学反思
2014/02/28 职场文书
企业宣传标语
2014/06/09 职场文书
2014年政风行风评议工作总结
2014/10/21 职场文书
乡镇领导班子四风整顿行动工作汇报
2014/10/25 职场文书
司机岗位职责范本
2015/04/10 职场文书
公司更名通知函
2015/04/24 职场文书
2015年信息技术教研组工作总结
2015/07/22 职场文书
2017寒假社会实践心得体会范文
2016/01/14 职场文书
python模板入门教程之flask Jinja
2022/04/11 Python