码迷,mamicode.com
首页 > Windows程序 > 详细

React-API

时间:2017-08-10 13:23:19      阅读:383      评论:0      收藏:0      [点我收藏+]

标签:ogg   cti   set   cli   参考   开始   lstat   hand   planet   

参考:http://www.ruanyifeng.com/blog/2015/03/react

参考:http://wiki.jikexueyuan.com/project/react/top-level-api.html

ReactDOM.render


 

import React from ‘react‘
import ReactDom from ‘react-dom‘
import App from ‘./App‘
ReactDom.render(
    <App/>,
    document.getElementById(‘root‘)
)

 

React.createClass


 

创建一个组件类,并作出定义。组件实现了 render() 方法,该方法返回一个子级。该子级可能包含很深的子级结构。组件与标准原型类的不同之处在于,你不需要使用 new 来实例化。 组件是一种很方便的封装,可以(通过 new )为你创建后台实例。

 

this.state


 

组件免不了要与用户互动,React 的一大创新,就是将组件看成是一个状态机,一开始有一个初始状态,然后用户互动,导致状态变化,从而触发重新渲染 UI 

var LikeButton = React.createClass({
  getInitialState: function() {
    return {liked: false};
  },
  handleClick: function(event) {
    this.setState({liked: !this.state.liked});
  },
  render: function() {
    var text = this.state.liked ? ‘like‘ : ‘haven\‘t liked‘;
    return (
      <p onClick={this.handleClick}>
        You {text} this. Click to toggle.
      </p>
    );
  }
});

ReactDOM.render(
  <LikeButton />,
  document.getElementById(‘example‘)
);

上面代码是一个 LikeButton 组件

getInitialState 方法用于定义初始状态, 这个对象可以通过 this.state 属性读取

this.setState 方法就修改状态值,每次修改以后,自动调用 this.render 方法,再次渲染组件

 

this.props.children


 

this.props 对象的属性与组件的属性一一对应,但是有一个例外,就是 this.props.children 属性。它表示组件的所有子节点

 

PropTypes


 

组件的属性可以接受任意值,字符串、对象、函数等等都可以。有时,我们需要一种机制,验证别人使用组件时,提供的参数是否符合要求。

组件类的PropTypes属性,就是用来验证组件实例的属性是否符合要求


var MyTitle = React.createClass({
  propTypes: {
    title: React.PropTypes.string.isRequired,
  },

  render: function() {
     return <h1> {this.props.title} </h1>;
   }
});

ref


 

组件并不是真实的 DOM 节点,而是存在于内存之中的一种数据结构,叫做虚拟 DOM (virtual DOM)。只有当它插入文档以后,才会变成真实的 DOM 。根据 React 的设计,所有的 DOM 变动,都先在虚拟 DOM 上发生,然后再将实际发生变动的部分,反映在真实 DOM上,这种算法叫做 DOM diff ,它可以极大提高网页的性能表现

但是,有时需要从组件获取真实 DOM 的节点,这时就要用到 ref 属性

var MyComponent = React.createClass({
  handleClick: function() {
    this.refs.myTextInput.focus();
  },
  render: function() {
    return (
      <div>
        <input type="text" ref="myTextInput" />
        <input type="button" value="Focus the text input" onClick={this.handleClick} />
      </div>
    );
  }
});

 

React-API

标签:ogg   cti   set   cli   参考   开始   lstat   hand   planet   

原文地址:http://www.cnblogs.com/vs1435/p/7338437.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!