react生命周期
class Counter extends React.Component { static defaultProps = { name:'plus' } constructor(props){ super(props) this.state = { number:0 } console.log('构造函数') } componentWillMount(){ console.log('组件将要加载') } componentDidMount(){ console.log('组件挂载完成') } handleClick = () => { this.setState({ number:this.state.number+1 }) } shouldComponentUpdate(nextProps,nextState){ console.log('组件是否更新') return nextState.number % 2 ///如果此函数种返回了false 就不会调用render方法了 } componentWillUpdate(){ console.log('组件将要更新') } componentDidUpdate(){ console.log('组件更新完成') } render(){ console.log('render') return () }}class ChildCounter extends React.Component{ componentWillUnMount(){ console.log('组件将要卸载componentWillUnmount') } componentWillMount(){ console.log('child componentWillMount') } render(){ console.log('child-render') return ({this.state.number}
{this.state.number > 3 ? null :} {this.props.n}) } componentDidMount(){ console.log('child componentDidMount') } componentWillReceiveProps(newProps){ // 第一次不会执行,之后属性更新时才会执行 console.log('child componentWillReceiveProps') } shouldComponentUpdate(nextProps,nextState){ return nextProps.n % 3; //子组件判断接收的属性 是否满足更新条件 为true则更新 }}ReactDOM.render(,document.getElementById('root'))