<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<!-- 【-->
<div id="example1"></div>
<script type="text/babel">
//1.定义组件
class Life extends React.Component{
constructor(props) {
super(props)
//初始化状态
this.state = {
opacity:'1'
}
this.distroyComponent = this.distroyComponent.bind(this)
}
distroyComponent(){
//销毁节点中的组件
ReactDOM.unmountComponentAtNode(document.getElementById('example1'))
}
componentDidMount(){
//启动循环定时器
this.intervalId=setInterval(function () {
console.log('定时器执行...')
let{opacity} = this.state
opacity -= 0.1
if(opacity<=0) {
opacity = 1
}
this.setState({opacity})
}.bind(this),200)
}
componentWillUnmount(){
//清理定时器
clearInterval(this.intervalId)
}
render() {
const {opacity} = this.state
return (
<div>
<h2 style={{opacity: opacity}}>{this.props.msg}</h2>
<button onClick={this.distroyComponent}>生命周期</button>
</div>
)
}
}
//2.渲染组件标签
ReactDOM.render(<Life msg="React测试" />,document.getElementById('example1'))
</script>
<script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
<script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/prop-types/15.7.2/prop-types.js"></script>
<script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
</body>
</html>
【组件】生命周期
最新推荐文章于 2023-12-31 21:16:34 发布