zoukankan      html  css  js  c++  java
  • react 创建组件

    解析React

    方法一、使用webpack

    在package.json添加

    "dependencies": {
        "react": "^0.14.0",
        "react-dom": "^0.14.1"
     }

    安装依赖

    npm init

    或者直接

    npm install  react react-dom --save-dev

    在你编写的react组件文件里 


    在你的入口文件里 


    其他事情就交给webpack去做吧。、

    方法二、在页面载入解析文件

    这种方法更方便,但是不利用实际开发,平时练习也就算了。

    <script src="build/react.js"></script>
    <script src="build/JSXTransformer.js"></script>
    <script src="build/browser.min.js"></script>

    Jsx语法

    组件类的第一个字母必须大写 
    JS代码

    var Comment=React.createClass({
        render:function(){
                return (
                    <div className = "comment" >
                        <h2 className="commentAuthor"> 
                            {this.props.author}
                        </h2>
                        <p className="commentContent">{this.props.children}</p>
                    </div>
                    );
            }
        })
    
    React.render(
        <Comment author="Liz">
        Hello!world.
        </Comment>,
        document.getElementById('container')
    );

    Html代码

    <div id="container"></div>

    Result


    React创建简单组件

    如果不使用jsx语法,我们还有两种方法创建组件。

    (1)Jsx,更加语义化,可直接套子节点和内容

    <div className = "comment" >
        <h2 className="commentAuthor"> 
            Liz
        </h2>
        <p className="commentContent">Hello!world.</p>
    </div>

    (2)React,类似于json格式,需要什么就嵌套,但是参数顺序比较严格,参数一为标签名,第二个属性json格式,第三个是内容,第二个不能省略,实在没有属性就填null.

    React.createElement("div",
       {className:"comment"},
       React.createElement("h2",{className:"commentAuthor"},"Liz"),
       React.createElement("p",{className:"commentContent"},"Hello!world.")
    )

    (3)React工厂

    var div = React.DOM.div;
    var h2 = React.DOM.h2;
    var p = React.DOM.p;
    
    div({className:"comment"},
        h2({className:"commentAuthor"},"Liz"),
        p({className:"commentContent"},"Hello!world."))


    得到的结果都是一样的。

    相比之下,我还是更倾向于Jsx写法。

  • 相关阅读:
    redis使用基础(一) ——Redis基本概述与安装配置
    Linux学习闲谈(三) ——SVN用法及切版本与合版本
    Linux学习闲谈(二) ——SVN版本控制拾遗
    Linux学习闲谈(一)——Shell基本操作与命令
    linux1
    git命令
    ubuntu
    laradock
    实用工具
    grumphp在docker里问题
  • 原文地址:https://www.cnblogs.com/crazycode2/p/8434257.html
Copyright © 2011-2022 走看看