react 建立组件

解析React

方法1、使用webpack

在package.json添加javascript

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

安装依赖html

npm init

或者直接java

npm install  react react-dom --save-dev

在你编写的react组件文件里 react


在你的入口文件里 webpack


其余事情就交给webpack去作吧。、web

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

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

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

Jsx语法

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

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代码dom

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

Resultui


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写法。

相关文章
相关标签/搜索