<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta http-equiv="X-UA-Compatible" content="ie=edge"/>
<title>form条件渲染</title>
<style>
.female {
color: deeppink;
}
.male {
color: blueviolet;
}
</style>
</head>
<body>
<div id="app"></div>
<script src="./lib/babel.min.js"></script>
<script src="./lib/react.development.js"></script>
<script src="./lib/react-dom.development.js"></script>
<script type="text/babel">
const {Component} = React;
const people = [
{
id: 1,
name: '罗小黑',
gender: '男',
},
{
id: 2,
name: '碧瑶',
gender: '女',
},
{
id: 3,
name: '张小凡',
gender: '男',
},
];
class Todo extends Component {
// 在react中为了和关键字class作区分,使用className来绑定样式名
render() {
console.log(this.props);
return (
<div>
<h1 className={this.props.p.gender == '男' ? 'male' : 'female'}>{this.props.p.name}</h1>
<p>{this.props.p.gender == '男' ? '这是一个男性' : '这是一个女性'}</p>
</div>
)
}
}
class App extends Component {
render() {
return (
<div>
<h1> form条件渲染 </h1>
{people.map(item => (
<Todo key={item.id} p={item}/>
))}
</div>
);
}
}
ReactDOM.render(<App/>, document.getElementById('app'));
</script>
</body>
</html>
success demo