react基础知识

ReactDOM.render将模板转换为HTML语言,并插入指定的DOM节点。

<div id="example"></div>
ReactDOM.render(
  <h1>hello</h1>,
  documnet.getElementById('example')
);

运行结果

hello

React.createClass将代码封装成组件的形式,生成组件类,需要注意return中只能包含一个顶层标签,组件名第一个字母要大写。

<div id="progress"></div>
<script type="text/babel">
  var Progress=React.createClass({
    render:function(){
      return <h1>Hello{this.props.name}</h1>
    }
  });
  ReactDOM.render(
    <Progress name="john" />
    documnet.getElementById("example")
  );
<script>

运行结果

john

this.props.children组件内的所有子节点,无节点undifine,一个节点object,多个节点array,在使用时加上React.children来处理,使用React.children.map遍历组件内的所有子节点

<div id="example"></div>
<script type="text/babel">
  var Progress=React.createClass({
    render:function(){
      return (
        <ol>{
         React.Children.map(this.props.children,function(child){
return <li>{child}<li>
         })
        }</ol>
      );
    }
  });
  ReactDOM.render(
    <Progress>
      <span>hello</span>
      <span>everyone</span>
    </Progress>
  );
</script>

运行结果

hello
everyone

propTypes验证别人所提供的组件是否符合要求,在component可以接收任意值包括数字、字符串函数等

var data=123;
var MyTitle=React.createClass({
  propTypes:{React.PropTypes.string.isRequired},//定义类型为字符串
  render:function(){
    <h1>{this.props.title}</h1>
  }
});
ReactDOM.render(
  <MyTitle  title={data} />,
  document.getElementById("example")
);
*------------------------------------*
使用getDefaultProps设置初始化值
var MyTitle=React.createClass({
  getDefaultProps:function(){
    return {
      title:'welcome'
    };
  },
  render:function(){
    <h1>{this.props.title}</h1>
  }
});
ReactDOM.render(
  <MyTitle />,
  document.getElementById("example")
);

运行结果:

123
welcome

ref属性可以从component组件中获取真实的的DOM节点

var MyComponent=React.createClass({
  handelClick:function(){
    this.refs.myTextInput.focus();
  },
  render:function(){
    return (
      <div>
        <input type="text" refs="myTextInput"/>
        <input type="button" value="focus" onClick={this.handelClick}/>
    </div>
    ) ; 
  }
});
ReactDOM.render(
  <MyComponent />,
  document.getElementById("example");
)

运行结果:


Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原教程内容详见精益 React 学习指南,这只是我在学习过程中的一些阅读笔记,个人觉得该教程讲解深入浅出,比目前大...
    leonaxiong阅读 7,846评论 1 18
  • 现在最热门的前端框架,毫无疑问是 React 。上周,基于 React 的 React Native 发布,结果一...
    sakura_L阅读 3,180评论 0 0
  • 一、git分支操作1、查看分支:查看本地 git branch;查看远程 git branch -a2、新建分支:...
    ShutLove阅读 910评论 0 0
  • 秋意渐浓,晨色微凉,骑行于路,身满朝阳
    IamChandler阅读 1,001评论 0 0
  • 完全不知道该写点什么,感觉没啥可写的。。。。 小时候还不关注日漫的时候,正好是凉宫春日很火爆的时候。那个时候好像不...
    伊蒂雅阅读 3,424评论 0 0