state
1、constructor 内初始化
constructor(props) {
this.state = {
n: ...
}
}
2、class属性初始化
class App extends React.Component {
state = {
loggedIn: false,
currentState: "not-panic",
someDefaultThing: this.props.whatever
}
render() {
// whatever you like
}
}
比如使用construcot
更加得直接、简介。要注意的是:
- 没有定义
constructor
state
属性是直接引用的,并不是通过this.state
来引用的state
的作用域是在Class内部,并不是一个方法的内部- 仍然可以使用
this.props
和this.context
state
是class的实例属性,并不是静态属性,不需要添加static
关键字(就像为static propTypes {...}
)
props
class 属性defaultProps初始化
1.组件外部 (ES6)
component.defaultProps = { name: '...' }
2.组件内部 (ES7,必须开启ES7的babel支持)
static defaultProps = { name: '...' }