React中的tab标签切换

React中的tab标签切换

 涉及到构造函数和状态管理

  •  状态值不能直接更改,需要通过set方法!

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <script src="./js/react.development.js"></script>
    <script src="./js/react-dom.development.js"></script>
    <script src="./js/babel.min.js"></script>
    <title>例子2</title>
    <style>
        .two{
            margin-left: 5%;
        }
        .t{
            color:red;
        }
        span{
            margin: 10px;
        }
    </style>
</head>
<body>
    <div id="root1"></div>
    <br><br><br>
    <div id="root2"></div>
    <br><br><br>
    <div id="root3"></div>
</body>

<script type="text/babel">

    var s=<div>我是第二个例子</div>
    ReactDOM.render(
        s,
        document.getElementById("root1")
    );

    //继承实例
    window.οnlοad=()=>{
        class TabList extends React.Component{
            constructor(){
               super();     //继承关键字
               this.state={
                   flag:true
               } 
            };
            one(){
               this.setState({
                   flag:true
               })
            };
            two(){
                this.setState({
                    flag:false
                })
            }
            //渲染
            render(){
                var flag=this.state.flag;
                return (
                    <div>
                    <span onClick={()=>this.one()}  className={flag? "t":""}>第一个按钮</span>
                    <span onClick={()=>this.two()}  className={flag? "":"t"}>第二个按钮</span>
                    <div> {flag ? <p>1111</p> : <p>2222</p>} </div>
                    </div>
                )

            }
        };
        ReactDOM.render(
            <TabList />,
            document.getElementById("root2")
        );

        ReactDOM.render(
            <div>{new Date().toLocaleTimeString()}</div>,
            document.getElementById("root3")
        )
    }
</script>
</html>
发布了114 篇原创文章 · 获赞 67 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/qq_38880700/article/details/91359416