react组件周期

react组件周期

<!-- react的核心组件第一个加载 -->

<script src="js/react.min.js"></script>

<!-- react-dom ReactDOM对DOM节点的一点操作 -->

<script src="js/react-dom.min.js"></script>

<script src="js/browser.js"></script>

</head>

<body>

<div id="app"></div>

<script type="text/babel">

/*

state 状态的意思,一般在页面中存在状态的变化以及涉及到与状态相关

的东西的时候都会用到它

作用:根据不同的状态显示不同的UI界面

*/

var Demo = React.createClass({

//第一步执行顺序 只执行一次

//设置默认的属性

getDefaultProps: function(){

return{

name:"现在的时间是:"

}

},

//第二步执行顺序

//设置初始状态

getInitialState: function(){

return {

sss:'box1'

}

},

//第三步执行组件将要加载的时候,最后一次可以修改状态的机会

componentWillMount:function(){

this.setState({

sss:'修改状态'

})

},

// 第四步:render渲染

render:function(){

console.log(this)

var styles={

color:'red',

border:'1px solid red',

width:'100px',

height:'100px',

lineHeight:'100px',

textAlign:'center'

}

return (<div ref='jing' style={styles}>{this.state.sss}{this.props.name}</div>)

},

//第五步:组件加载完成 这里可以修改DOM节点

componentDidMount:function(){

console.log("姚辉乾")

var jing = this.refs.jing

var n = 0

jing.style.width= '250px'

jing.style.background= 'yellow'

jing.οnclick=()=>{

var that = this

setInterval(() => {

n++

jing.style.marginLeft = n +'px';

}, 20);

}

}

})

ReactDOM.render(<Demo/>,document.getElementById('app'))

</script>