1. JSX
JSX 是一种 JavaScript 的语法扩展,可以在 JavaScript 中直接编写 HTML 标记,并且支持嵌套和组件形式的表示:
const element = <h1>Hello, world!</h1>;
2. 元素
React 的 UI 都是基于元素来组织的,一个元素就是一段描述界面的对象,它可以是简单的文本标记,也可以是复杂的组合元素:
const element = (
<div>
<h1>Hello, world!</h1>
<p>This is a paragraph.</p>
</div>
);
3. 组件
组件是 React 中最基本的构建块,所有的 UI 都是由组件构成的,可以使用函数或类来定义组件:
// 使用函数定义组件
function Greeting(props) {
return <h1>Hello, {props.name}!</h1>;
}
// 使用类定义组件
class Greeting extends React.Component {
render() {
return <h1>Hello, {this.props.name}!</h1>;
}
}
4. 状态(State)
状态是组件中的一个重要概念,它可以决定一个组件在不同时间点所呈现的内容,并且可以对这些内容进行操作。在类组件中,状态可以使用 state
属性来定义和操作:
class Counter extends React.Component {
constructor(props) {
super(props);
this.state = { count: 0 };
}
handleClick = () => {
this.setState({ count: this.state.count + 1 });
};
render() {
return (
<div>
<p>Count: {this.state.count}</p>
<button onClick={this.handleClick}>Click me</button>
</div>
);
}
}
5. 事件处理
React 使用类似 HTML 的方式来处理事件,例如 onClick
、onMouseDown
等,它们都是需要绑定到相应的函数上进行处理:
class Button extends React.Component {
handleClick = () => {
console.log('Button clicked!');
};
render() {
return <button onClick={this.handleClick}>Click me</button>;
}
}