zoukankan      html  css  js  c++  java
  • React笔记_(2)_react语法1

    这一节内容主要以了解为主。

    渐渐的体会react的语法和其特性。

    ① htmlAndJs 混合编写

        react和以往的前后台书写方式不一样。

        在之前的多个语言中,讲求的是将页面代码和js代码逻辑分开,包括原来的css文件都有独立的分装。

        而react的提供了一种html和js语句混合编写的方式。这就是jsx。

        先不详说,体会一下先:

    1 var arr = [    
    2     <h1>Hello world!</h1>, 
    3     <h2>React is awesome</h2>
    4 
    5 ];
    6//将html装到数组里面
    7 ReactDOM.render( 8 <div>{arr}</div>, 9 document.getElementById('app'));

    ② props和省略号语法

        props对象的属性与组件的属性一一对应.

    'use strict';
    import React,{Component} from 'react';
    import ReactDOM from 'react-dom';
    //声明一个组件类,叫MyTitle
    class MyTitle extends Component{
         show(){
            console.log(this.props.title);
            console.log(this.props.contents);
            console.log(this.props.name);
        }
        //渲染组件:一个按钮,并可以点击。
        //注意bind(this)的写法,这是jsx语法要求的
        //如果嫌麻烦也可以使用箭头函数。
         render(){
            return (<button onClick={ this.show.bind(this) }> click </button>);
        }
    }
    //要向组件传递的数据
    var data = {title:'this is a title',contents:'this is contents'};
    ReactDOM.render(
    <MyTitle {...data}  name={'my name'}/>,
    document.getElementById('app')
    );
    

      上述代码实际上渲染出来的是一个button。

         详细的说明看我的注释就好了。


    ③ this.props.children

        在这个属性中获取传入的dom的节点信息。

        可以用 React.Children.map方法遍历。

    'use strict';
    import React,{Component} from 'react';
    import ReactDOM from 'react-dom';
    class NodeList extends Component{
        render(){
         return(
          <ul>
            {
            //遍历this.props.children节点
            React.Children.map(this.props.children,function(child){
                return (<li>{child}</li>);
                })
            }
         </ul>
        );
    }
    }
    
    ReactDOM.render(
    <NodeList>
        <span>hello</span>
        <span>world</span>
    </NodeList>,
    document.getElementById('app')
    );
    

      

    参考:https://github.com/ZhangWeiStudy/React

    源代码说明:点此下载

       



    如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!


    作者:风来风往风伤
    出处:http://www.cnblogs.com/amwuau/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。

     
  • 相关阅读:
    zookeeper实现主从选举
    基于Zookeeper+MHA的mysql高可用架构设计
    MHA实现MySQL主从自动在线切换功能
    redis 主从复制
    虚拟iP
    nginx 主从
    代码的快速操作
    网页延时加载
    ajax循环数据
    js实现网页中打印、刷新、关闭、前进、后退、返回等操作
  • 原文地址:https://www.cnblogs.com/amwuau/p/6128727.html
Copyright © 2011-2022 走看看