- DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>title>
- <style type="text/css">
- .btn {
- background-color: #ff557f;
- color: aliceblue;
- font-size: 20px;
- }
-
- .hove {
- background-color: chocolate;
- color: aliceblue;
- font-size: 20px;
- }
- style>
- head>
- <body>
-
-
- <div id="root">
-
- div>
-
- <script src="./js/react.development.js">script>
-
- <script src="js/react-dom.development.js">script>
-
- <script src="js/babel.min.js">script>
-
- <script type="text/babel">
- class IsLike extends React.Component{
- // state 是一个状态,存储数据
- state={
- flag:true,
- age:20
- }
- changeblack=()=>{
- // this.state.flag = ! this.state.flag
- // 通过setState改变state内部的数据
- this.setState({flag:!this.state.flag})
- }
- render(){
- const {flag} = this.state;
- return(
- <div>
- <button className={flag?"btn":"btn hove"} onClick={this.changeblack}>{flag?"喜欢":"不喜欢"}button>
- div>
- )
- }
- }
-
- ReactDOM.render(<IsLike/>,document.getElementById("root"))
- script>
- body>
- html>
- DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>title>
- <style type="text/css">
- * {
- padding: 0px;
- margin: 0px;
- }
-
- .btn {
- width: 100px;
- height: 50px;
- background-color: red;
- border: 1px solid #0f0;
- }
- style>
- head>
- <body>
-
- <div id="root">
-
- div>
- <script src="js/react.development.js">script>
- <script src="js/react-dom.development.js">script>
- <script src="js/babel.min.js">script>
-
- <script type="text/babel">
- class Person extends React.Component{
- state={
- x:0
- }
- //这里采用点击事件 清除组件
- unmount=()=>{
- //卸载组件的钩子 unmountComponentAtNode
- ReactDOM.unmountComponentAtNode(document.getElementById("root"))
- }
- //这里是挂载组件
- componentDidMount(){
- // this.install这里必须要定义 否则无法在清除定时器中找到相关的定时器名称 定时器
- this.install = setInterval(()=>{
- let x = this.state.x
- if(x>=100){
- this.setState({x:0})
- }else{
- x+=20
- this.setState({x})
- }
-
- },1000)
- }
- //清除组件 清除定时器
- componentWillUnmount(){
- clearInterval(this.install)
- }
- // 挂在组件
- render(){
- let x= this.state.x
- return(
- <div>
- <div className="btn" style={{"transform":`translateX(${x}px)`}}>div>
- <button type="submit" onClick={this.unmount}>卸载组件button>
- div>
- )
- }
- }
- ReactDOM.render(<Person/>,document.getElementById("root"))
- script>
- body>
- html>