react是一个用于构建用户界面的js库,React 的核心理念是“一切皆组件”
通过jsx语法来描述UI,使用js代码来编写类似于html的标记
// 一个简单的 React 组件
const Welcome = (props) => {
return <h1>Hello, {props.name}</h1>;
};
// 使用组件
const element = <Welcome name="John" />;
组件
组件是有状态和生命周期的独立单元
// 函数组件
const Greeting = (props) => {
return <p>Hello, {props.name}!</p>;
};
// 类组件
class App extends React.Component {
render() {
return <Greeting name="World" />;
}
}
状态与属性
状态:组件内部可以改变的数据
class Counter extends React.Component {
constructor() {
super();
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}>Increment</button>
</div>
);
}
}
属性,从父到子传递的数据,只读,子组件不能修改
const Person = (props) => {
return <p>Name: {props.name}, Age: {props.age}</p>;
};
const App = () => {
return <Person name="John" age="25" />;
};
声明周期
class Example extends React.Component {
componentDidMount() {
console.log('Component did mount');
}
componentDidUpdate() {
console.log('Component did update');
}
componentWillUnmount() {
console.log('Component will unmount');
}
render() {
return <p>Hello, React!</p>;
}
}