10 React每隔0.2s颜色变淡 之生命周期 ,componentDidMount表示组件已经挂载

05案例 每隔0.2s颜色变淡###

componentDidMount表示组件已经挂载,可以进行DOM操作###

import React,{ Component } from "react";
export default class Life extends Component {
    state={
       opacity:1
    }

    componentDidMount(){ //声明周期  表示组件已经挂载了
        let { opacity } = this.state  //解构
        setInterval(() => {
            opacity -= 0.1;
            if (opacity <= 0) {
                opacity = 1
            }

            this.setState({
                opacity
            })
            console.log(opacity);

        },200);

    }


     render(){
         let { opacity } = this.state  //结构
        //  因为state已发生改变  render就会执行
        // 所以  当  opacity的值发生改变    render函数就会执行  setTimeout就变成了每个0.2s循环一次
        // render 一上来就会执行   状态改变就会执行
         return(
             <div style={{ opacity  }}> React学不会了  怎么办</div>
         )
     }
}

使用
ReactDOM.unmountComponentAtNode(document.getElementById("root")) 报错
因为你没有引用
import ReactDOM from 'react-dom'

相关文章

react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接...
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc ...