React学习:事件绑定、组件定义、for、map循环-学习笔记
事件绑定
<!DOCTYPE html>
<html>
<head>
<title>react-tab多选项切换</title>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<link href="css/index.css" rel="stylesheet">
<script src="js/react.development.js"></script>
<script src="js/react-dom.development.js"></script>
<script type="text/javascript" src="js/babel.min.js"></script>
</head>
<body>
<div id="app"></div>
<script type="text/babel">
window.onload = function(){
class ListInfo extends React.Component{
render(){
if(this.props.num==1){
return <h1>1111111</h1>
}else if(this.props.num==2){
return <TabTwo />
}else {
}
}
}
class TabOne extends React.Component{
render(){
return (
<div>
<ul>
<li>11111</li>
<li>11111</li>
</ul>
</div>
)
}
}
class TabTwo extends React.Component{
render(){
return (
<div>
<ul>
<li>2222222</li>
<li>2222222</li>
</ul>
</div>
)
}
}
class Tab extends React.Component{
constructor(){
super();
this.state = {
s:1
};
}
change(i){
this.setState({
s:i
})
}
change1(i){
this.setState({
s:i
})
console.log(i);
}
render(){
var {s} = this.state;
return (
<div id="layout">
<div id="menu">
<div className="menu-main">
<a className={s==1?"menu-selected":''} onClick={this.change1.bind(this,1)}>女装/男装</a>
<a className={s==2?"menu-selected":''} onClick={()=>this.change(2)}>酒类/生鲜1</a>
<a className={s==3?"menu-selected":''} onClick={()=>this.change(3)}>酒类/生鲜2</a>
<a className={s==4?"menu-selected":''} onClick={()=>this.change(4)}>酒类/生鲜3</a>
</div>
</div>
<div id="main">
<div className="content">
<h2>一个专门从事购物的网站</h2>
<div>
<p>年轻人迷茫的的原因——在本该拼搏的年龄,想的太多,做的太少</p>
<ListInfo num={s} />
</div>
</div>
</div>
</div>
)
}
};
ReactDOM.render(
<Tab/>,
document.getElementById('app'));
}
</script>
</body>
</html>
组件定义 (参数传递)
<!DOCTYPE html>
<html>
<head>
<title>react-tab多选项切换</title>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<link href="css/index.css" rel="stylesheet">
<script src="js/react.development.js"></script>
<script src="js/react-dom.development.js"></script>
<script type="text/javascript" src="js/babel.min.js"></script>
</head>
<body>
<div id="app"></div>
<script type="text/babel">
window.onload = function(){
var obj = {
id:1,
name:'abc',
age:20,
address:'wh',
arr:[1,2,3],
obj2:{id:11}
};
function Hello(props){
return <h1>hello {props.address}</h1>
}
class Tab extends React.Component{
render(){
return (
<div>
<ul>
<li>11111 {this.props.name}</li>
<li>11111 </li>
<li>11111</li>
</ul>
</div>
)
}
}
ReactDOM.render(
<div>
<Hello address={obj.address}/>
{}
<Tab {...obj} />
</div>,
document.getElementById('app'));
}
</script>
</body>
</html>
for、map循环
<!DOCTYPE html>
<html>
<head>
<title>react-tab多选项切换</title>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<link href="css/index.css" rel="stylesheet">
<script src="js/react.development.js"></script>
<script src="js/react-dom.development.js"></script>
<script type="text/javascript" src="js/babel.min.js"></script>
</head>
<body>
<div id="app"></div>
<script type="text/babel">
window.onload = function(){
var arr = [1,2,3,4,5,6];
var arr3 = [];
for(var i=0;i<arr.length;i++){
arr3.push(<h1 key={i}>{arr[i]}</h1>)
};
ReactDOM.render(
<div>
{arr3}
</div>,
document.getElementById('app'));
}
</script>
</body>
</html>