说明: 以下总结,不算HOOKS
先上代码
// 函数组件
function Welcome (props) {
return <h1>Welcome {props.name}</h1>
}
// 类组件
class Welcome extends React.Component {
constructor(props) {
super(props)
this.state = {
}
}
componentDidUpdate() {
}
componentWillUnmount() {
}
render() {
return (
<h1>Welcome {this.props.name}</h1>
);
}
}
相同:
1、组件名首字母必须大写
2、返回的组件只能有一个根元素
3、都不能修改props
不同:
1、函数组件比类组件性能好
因为类组件使用过程中,需要实例化,而函数组件不需要
2、this?声明周期?state?
函数组件没有this,没有生命周期,没有状态state.
类组件有this,有生命周期,有状态state。
这也是有状态组件和无状态组件的区别。