《React+Redux前端开发实战》—1.3 React的特征

举报
华章计算机 发表于 2019/07/24 23:07:31 2019/07/24
【摘要】 本节书摘来自华章计算机《React+Redux前端开发实战》一书中的第1章,第1.3.1节,作者是徐顺发.

1.3  React的特征

  本节将介绍有关React的三大突出特点:组件化、虚拟DOM和单向数据流,这有助于读者更好地认识和理解React的设计思想。

1.3.1  组件化

  React书写的一切用户界面都是基于组件的。这么做的好处是什么呢?

  最显而易见的就是组件具备良好的封装性,可以重复使用。想象一下,在一个应用中,假如每个页面顶部都有一个类似功能的搜索框,需要写多次重复的代码,如果把它单独抽象封装成一个单独的组件,在每个使用到的地方去引用,这样可以减少大量重复、多余的代码,并且方便迭代维护。

  在React中,对于组件的理解可以比喻成古代的“封邦建国”。天子把自己直接管辖(父组件)以外的土地分封给诸侯,让他们各自管辖属于自己的领地(子组件)。只要天子(父组件)有什么需要,就吩咐(调用)诸侯(子组件)去做就行了。有什么旨意,就派信使传达(props 属性,2.12节将详细讲解)。这样一来,天子一个人要管辖这么多的领土也不会觉得累了,同时又让自己的国家繁荣富强,实现自治,但又不脱离自己的掌控。

  简单的组件示例:

  

  import React, { Component } from 'react';

  import { render } from 'react-dom';

  export default Class MyComponent extends React.Component {

    render() {

      return (

       <div>

         Hello, I am {this.props.name}.

       </div>

      )

    }

  }

  

  自定义组件后,在其他需要使用这个组件的地方就可以像使用HTML标签一样去引用了,例如:

  

  import React, { Component } from 'react';

  import { render } from 'react-dom';

  import MyComponent from './myComponent'

  export default class extends React.Component {

    render() {

      return (

   <MyComponent name="Jack" />                  // name 是自定义组件的属性

      )

    }

  }

  

  运行程序,输出结果如图1.5所示。

image.png


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。