您的位置:首页 > Web前端 > React

react 创建组件

2018-02-09 17:52 363 查看

解析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写法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: