组件/组件属性/复合组件

一. 创建
/* 创建一个组件类, 用于输出 hello react
*
* 1.React中创建的组将类,大写字母开头
* 2.使用React.createClass方法创建一个组件类
* 3.核心代码:每个组件类都必须实现自己的render方法, 输出定义好的组件模板,返回值:null,fasle,组件模板
* 4.注意:组件类只能包含一个顶层标签
*
* */

var HelloMessage = React.createClass({
render: function () {
//返回定义的组件模板
return <h1>Hello React组件</h1>;
}

});

//使用
ReactDOM.render(
//在模板中插入<HelloMessage/>, 会自动生成一个实例
<HelloMessage/>,
document.getElementById("container")

);

二, 组件样式
/*
* 设置组件的样式,三种:
* 1.内联样式
* 2.对象样式
* 3.选择器样式
*
* 注意:
* 在React 和 html5中设置样式时,书写格式是有区别的
* 1.h5中以;结尾
* React中以,结尾
* 2.h5中,key value都不加引号
* React中属于js对象,key的名字不能出现"-",需要使用驼峰命名,如果value是字符串,需要加引号
* 3.h5中,value如果是数字,需要带单位
* React中不需要带单位
*
*
* 需求:定义一个组件, 分为上下两行显示内容
* <div>内联样式, 设置背景颜色,边框大小,边框颜色
* <h1> 对象样式,背景颜色,字体颜色
* <p> 选择器样式, 设置字体大小(类名需要使用className,不能使用class)
*
* */

//创建设置h1样式的对象
var hStyle = {
backgroundColor:"green",
color:"red"
}

var ShowMessage = React.createClass({
render: function () {
return(
//外层{}表示jsx语法,内层{}表示对象
<div style={{backgroundColor:"yellow",borderWidth:5,borderColor:"black"}}>
<h1 style={hStyle}>{this.props.firstRow}</h1>
<p className="pStyle">{this.props.secondRow}</p>
</div>
)
}

});
//使用
ReactDOM.render(
<ShowMessage firstRow="你好"secondRow="计算机"/>,
document.getElementById("container")
);


三, 复合组件
 
 
/* 复合组件
* 也成组合组件,创建多个组件合成一个组件
*
* 需求:定义一个组件WebShow,功能:输出网站的名字和网址,网址是一个可以点击的链接
*
* 分析:定义一个组件WebName负责输出网站名字,
* 定义一个组件WebLind显示网站的网址,并且可以点击
*
*
* */
//1.定义WebName组件
var WebName = React.createClass({
render: function () {
return <h1>大雪山</h1>
}

});
//定义WebLink组件
var WebLink = React.createClass({
render: function () {
return <a href="https://www.baidu.com">https://www.baidu.com</a>
}
})
//复合组件
var WebShow = React.createClass({
render:function () {
return(
<div>
<WebName/>
<WebLink/>
</div>
)

}
});

//使用
ReactDOM.render(
<WebShow/>,
document.getElementById("container")
);
 

转载于:https://www.cnblogs.com/daxueshan/p/7922967.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值