-
/**注意事项 * 1、不要直接修改state (this.state.name = 'new name' ❌) 使用this.setState({name: new name})来更新数据 * 2、state的更新可能是异步的 */
-
import React from 'react';
class Example extends React.Component {
constructor(props) {
super(props);
this.state = {
name: '',
data: []
}
}
render() {
return (
<div><span>名字为:</span>{${this.state.name}}</div>
)
}
}
-
无状态组件(展示组件)
- 无state状态
- 主要用于定义模版,接收来自父组件的props属性来接收传递过来的数据
/** 1、函数 2、只接收一个props形参,直接使用props,而不是this.props 3、没有生命周期函数 */ let uselessTemplate = function(props) { return ( <div>{`${props.name}-${props.age}`}</div> ) }
-
有状态组件(容器组件)
-
有state状态
-
主要用来定义交互逻辑和业务逻辑
/** 1、继承自Component类 2、可以使用state和props,并且都通过this.state和this.props来调用 3、拥有生命周期函数 */ import React from 'react'; class Example extends React.Component { constructor(props) { super(props); this.state = { name: '', data: [] } } render() { return ( <div><span>名字为:</span>{${this.state.name}}</div> ) } }
-