资讯专栏INFORMATION COLUMN

React(1)

gghyoo / 1388人阅读

摘要:有以下特点声明式设计采用声明范式,可以轻松描述应用。高效通过对的模拟,最大限度地减少与的交互。灵活可以与已知的库或框架很好地配合。内嵌了对的支持。通过与用户的交互,实现不同状态,然后渲染,让用户界面和数据保持一致。

                                         React入门

                                 React 是一个用于构建用户界面的 JAVASCRIPT 库。有以下特点:
   1.声明式设计 −React采用声明范式,可以轻松描述应用。
   2.高效 −React通过对DOM的模拟,最大限度地减少与DOM的交互。
   3.灵活 −React可以与已知的库或框架很好地配合。
   4.JSX − JSX 是 JavaScript 语法的扩展。React 开发不一定使用 JSX ,但速度快。
   5.组件 − 通过 React 构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。
   6.单向响应的数据流 − React 实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。

Hello world例子:



  
    
    Hello React!
    
    
    
  
  
    

实例中我们引入了三个库: react.min.js 、react-dom.min.js 和 babel.min.js:
react.min.js - React 的核心库
react-dom.min.js - 提供与 DOM 相关的功能
babel.min.js - Babel 可以将 ES6 代码转为 ES5 代码,这样我们就能在目前不支持 ES6 浏览器上执行 React 代码。Babel 内嵌了对 JSX 的支持。通过将 Babel 和 babel-sublime 包(package)一同使用可以让源码的语法渲染上升到一个全新的水平。

JSX语法:

 ReactDOM.render(
        

Hello, world!

, document.getElementById("example") );

上述代码为获取id 为example的标签 添加render里写的html标签或者执行js

props -> properties 属性们
render -> 渲染
ReactDom.render(实例化的组件,要渲染到得对象)

我们可以在 JSX 中使用 JavaScript 表达式。表达式写在花括号 {} 中。如下:

ReactDOM.render(
    

{alert(1)}

, document.getElementById("example") );

在 JSX 中不能使用 if else 语句,但可以使用 conditional (三元运算) 表达式来替代。

ReactDOM.render(
    

{i == 1 ? "True!" : "False"}

, document.getElementById("example") );

React 推荐使用内联样式。我们可以使用 camelCase 语法来设置内联样式. React 会在指定元素数字后自动添加 px :

var style = {
   background-color: blue;
};
ReactDOM.render(
    

hello

, document.getElementById("example") );

React 通过React.createClass新建组件,如果我们需要向组件传递参数,可以使用 this.props 对象:

var HelloWorld = React.createClass({
  render: function() {
    return 

Hello {this.props.world}!

; } }); ReactDOM.render( , document.getElementById("example") );

React 复合组件:



  
    
    Hello React!
    
    
    
  
  
    

       React 把组件看成是一个状态机(State Machines)。通过与用户的交互,实现不同状态,然后渲染 UI,让用户界面和数据保持一致。
React 里,只需更新组件的 state,然后根据新的 state 重新渲染用户界面(不要操作 DOM)。
以下实例中创建了 LikeButton 组件,getInitialState 方法用于定义初始状态,也就是一个对象,这个对象可以通过 this.state 属性读取。当用户点击组件,导致状态变化,this.setState 方法就修改状态值,每次修改以后,自动调用 this.render 方法,再次渲染组件。



  
    
    
    
    
  
  
    

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/51375.html

相关文章

  • 精益 React 学习指南 (Lean React)- 1.1 React 介绍

    摘要:单向数据流应用的核心设计模式,数据流向自顶向下我也是性子急的人,按照技术界的惯例,在学习一个技术前,首先得说一句。然而的单向数据流的设计让前端定位变得简单,页面的和数据的对应是唯一的我们可以通过定位数据变化就可以定位页面展现问题。 书籍完整目录 1.1 React 介绍 showImg(https://segmentfault.com/img/bVvJgS); 1.1.1 React ...

    lsxiao 评论0 收藏0
  • React 深入系列1React 中的元素、组件、实例和节点

    摘要:中的元素组件实例和节点,是中关系密切的个概念,也是很容易让初学者迷惑的个概念。组件和元素关系密切,组件最核心的作用是返回元素。只有组件实例化后,每一个组件实例才有了自己的和,才持有对它的节点和子组件实例的引用。 React 深入系列,深入讲解了React中的重点概念、特性和模式等,旨在帮助大家加深对React的理解,以及在项目中更加灵活地使用React。 React 中的元素、组件、实...

    LeviDing 评论0 收藏0
  • React Native 升级到版本到0.25.1

    摘要:的更新策略是两个星期迭代一个新版本使用的没有多长时间就需要升到最新版本了,这里介绍下如何升级到版本以及其以上。使用首先要添加的依赖,如果把的版本直接升高到当前版本,比如。 React Native的更新策略是两个星期迭代一个新版本,使用的React Natvie没有多长时间就需要升到最新版本了,这里介绍下如何升级到版本0.25.1以及其以上。 React Native 25,一个显著的...

    jeffrey_up 评论0 收藏0
  • 精益 React 学习指南 (Lean React)- 1.3 React 组件

    摘要:无状态组件除了可以通过来创建组件以外,组件也可以通过一个普通的函数定义,函数的返回值为组件渲染的结果。这就是为什么要有属性,属性能够帮助定位与数组元素的关系,在重渲染的时候能够实现渲染优化。 书籍完整目录 1.3 React 组件 showImg(https://segmentfault.com/img/bVvLOW); 1.3.1 React 组件介绍 在 React 中组件是第一元...

    cyrils 评论0 收藏0

发表评论

0条评论

gghyoo

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<