008.组件实例三大属性之state

179 阅读1分钟

举个例子

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- 准备好容器 -->
    <div id="test"></div>
    <!-- 引入依赖 ,引入的时候,必须就按照这个步骤-->
    <script type="text/javascript" src="../js/react.development.js"></script>
    <script type="text/javascript" src="../js/react-dom.development.js"></script>
    <script type="text/javascript" src="../js/babel.min.js"></script>
    
    <!--这里使用了babel用来解析jsx语法-->
    <script type="text/babel">
        // 1.创建组件
        class Weather extends React.Component{
            constructor(props){
                super(props)
                this.state={
                    isHot:true
                }
            }
            render(){
                console.log(this)
                // this.state={
                //     isHot:true
                // }
                const {isHot} = this.state
                return (
                    <h1>今天天气很{isHot?'炎热':'凉爽'}</h1>
                )
            }
        }
       
        // 2.渲染,如果有多个渲染同一个容器,后面的会将前面的覆盖掉
        ReactDOM.render(<Weather/>,document.getElementById('test'))
    </script>
</body>
</html>

image.png

解析

  1. 构建类式组件继承自React的Component类,react创建Weather实例传递state、props等属性

如果A类继承自B类 且A类中使用了构造器 则A类构造器必须调用super()

  1. Weather实例中继承了state等属性可以直接在构造器中修改state的值