(精华2020年5月22日更新) react基础篇 this的指向问题

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>this</title>
</head>

<body>
    <div id="app">

    </div>
    <script crossorigin src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
    <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
    <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
    <script type="text/babel">
        // 复杂的组件 es6 class
        // 页面上是我喜欢你  点击之后变成你喜欢我
        class Complex extends React.Component{
     
            constructor(){
     
                super()
                this.state = {
     
                    flag:true
                }
                //第二种改变this
                // this.handelClick = this.handelClick.bind(this)
            }
            //第三种匿名函数
            handelClick = ()=>{
     
                // 改变state  this.setState
                const {
     flag} = this.state;
                this.setState({
     
                    flag:!flag
                })
            }
            //第一种改变this,默认严格模式
            //

{msg}

render(){ const { flag} = this.state const msg = flag ? '改变前' : '改变后' return ( <div> <h1 onClick={ this.handelClick}>{ msg}</h1> </div> ) } } ReactDOM.render(<Complex />,document.getElementById("app")) </script> </body> </html>

你可能感兴趣的:((持续更新)react基础篇,reactjs)