React是基于组件进行开发
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>createClass</title>
</head>
<body>
<div id="example"></div>
<script src="https://cdn.jsdelivr.net/npm/react@16.14.0/umd/react.production.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/react-dom@16.14.0/umd/react-dom.production.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@babel/standalone@7.23.2/babel.min.js"></script>
<script type="text/babel">
class HelloWorld extends React.Component {
render() {
return <h1>Hello world!</h1>;
}
}
ReactDOM.render(
<HelloWorld></HelloWorld>,
document.getElementById("example")
);
ReactDOM.render(<HelloWorld />, document.getElementById("example"));
</script>
</body>
</html>
props对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>props对象</title>
</head>
<body>
<div id="example"></div>
<script src="https://cdn.jsdelivr.net/npm/react@16.14.0/umd/react.production.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/react-dom@16.14.0/umd/react-dom.production.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@babel/standalone@7.23.2/babel.min.js"></script>
<script type="text/babel">
class HelloWho extends React.Component {
render() {
return <h1>Hello {this.props.name}!</h1>;
}
}
ReactDOM.render(
<HelloWho name="帅哥"></HelloWho>,
document.getElementById("example")
);
</script>
</body>
</html>
组件案列
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>demo</title>
</head>
<body>
<div id="example"></div>
<script src="https://cdn.jsdelivr.net/npm/react@16.14.0/umd/react.production.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/react-dom@16.14.0/umd/react-dom.production.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@babel/standalone@7.23.2/babel.min.js"></script>
<script type="text/babel">
class Link extends React.Component {
render() {
return <a href={this.props.url}>{this.props.title}</a>;
}
}
ReactDOM.render(
<Link url="http://baidu.com" title="百度" />,
document.getElementById("example")
);
</script>
</body>
</html>
组件样式
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>componentStyle</title>
<style>
.title {
text-align: center;
color: #cc52ff;
}
</style>
</head>
<body>
<div id="example"></div>
<script src="https://cdn.jsdelivr.net/npm/react@16.14.0/umd/react.production.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/react-dom@16.14.0/umd/react-dom.production.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@babel/standalone@7.23.2/babel.min.js"></script>
<script type="text/babel">
var pStyle = {
backgroundColor: "green",
fontSize: 20,
};
class Message extends React.Component {
render() {
return (
<div
style={{
backgroundColor: "yellow",
borderWidth: 3,
borderColor: "black",
borderStyle: "solid",
}}
>
<h1 className="title">{this.props.title}</h1>
<p style={pStyle}>{this.props.content}</p>
</div>
);
}
}
ReactDOM.render(
<Message
title="干了这碗鸡汤"
content="如果你得罪了老板,失去的只是一份工作;如果你得罪了客户,失去的不过是一份订单;是的,世上只有一个人可以得罪:你给她脸色看,你冲她发牢骚,你大声顶撞她,甚至当 着她的面摔碗,她都不会记恨你,原因很简单,因为她是你的母亲。"
></Message>,
document.getElementById("example")
);
</script>
</body>
</html>
多组件组合
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>componentCompact</title>
</head>
<body>
<div id="example"></div>
<script src="https://cdn.jsdelivr.net/npm/react@16.14.0/umd/react.production.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/react-dom@16.14.0/umd/react-dom.production.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@babel/standalone@7.23.2/babel.min.js"></script>
<script type="text/babel">
class ListTitle extends React.Component {
render() {
return <h1>{this.props.title}</h1>;
}
}
class ListContent extends React.Component {
render() {
return <p>{this.props.content}</p>;
}
}
class List extends React.Component {
render() {
return (
<div>
<ListTitle title={this.props.t} />
<ListContent content={this.props.c} />
</div>
);
}
}
ReactDOM.render(
<List t="我真帅!" c="这是一个真理!" />,
document.getElementById("example")
);
</script>
</body>
</html>
综合案列
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Title</title>
<style>
.title {
text-align: center;
color: #cc52ff;
}
</style>
</head>
<body>
<div id="example"></div>
<script src="https://cdn.jsdelivr.net/npm/react@16.14.0/umd/react.production.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/react-dom@16.14.0/umd/react-dom.production.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@babel/standalone@7.23.2/babel.min.js"></script>
<script type="text/babel">
class HelloWorld extends React.Component {
render() {
return <h1>Hello world!</h1>;
}
}
ReactDOM.render(
<HelloWorld></HelloWorld>,
document.getElementById("example")
);
ReactDOM.render(<HelloWorld />, document.getElementById("example"));
class HelloWho extends React.Component {
render() {
return <h1>Hello {this.props.name}!</h1>;
}
}
ReactDOM.render(
<HelloWho name="帅哥"></HelloWho>,
document.getElementById("example")
);
class Link extends React.Component {
render() {
return <a href={this.props.url}>{this.props.title}</a>;
}
}
ReactDOM.render(
<Link url="http://baidu.com" title="百度" />,
document.getElementById("example")
);
var pStyle = {
backgroundColor: "green",
fontSize: 20,
};
class Message extends React.Component {
render() {
return (
<div
style={{
backgroundColor: "yellow",
borderWidth: 5,
borderColor: "black",
borderStyle: "solid",
}}
>
<h1 className="title">{this.props.title}</h1>
<p style={pStyle}>{this.props.content}</p>
</div>
);
}
}
ReactDOM.render(
<Message
title="干了这碗鸡汤"
content="如果你得罪了老板,失去的只是一份工作;如果你得罪了客户,失去的不过是一份订单;是的,世上只有一个人可以得罪:你给她脸色看,你冲她发牢骚,你大声顶撞她,甚至当 着她的面摔碗,她都不会记恨你,原因很简单,因为她是你的母亲。"
></Message>,
document.getElementById("example")
);
class ListTitle extends React.Component {
render() {
return <h1>{this.props.title}</h1>;
}
}
class ListContent extends React.Component {
render() {
return <p>{this.props.content}</p>;
}
}
class List extends React.Component {
render() {
return (
<div>
<ListTitle title={this.props.t} />
<ListContent content={this.props.c} />
</div>
);
}
}
ReactDOM.render(
<List t="我真帅!" c="这是一个真理!" />,
document.getElementById("example")
);
</script>
</body>
</html>