zoukankan      html  css  js  c++  java
  • 关于react的疑惑_3

    在菜鸟上学react的时候看到一段代码

    <script type="text/babel">
    class Hello extends React.Component {
     
      constructor(props) {
          super(props);
          this.state = {opacity: 1.0};
      }
     
      componentDidMount() {
        this.timer = setInterval(function () {
          var opacity = this.state.opacity;
          opacity -= .05;
          if (opacity < 0.1) {
            opacity = 1.0;
          }
          this.setState({
            opacity: opacity
          });
        }.bind(this), 100);
      }
     
      render () {
        return (
          <div style={{opacity: this.state.opacity}}>
            Hello {this.props.name}
          </div>
        );
      }
    }
     
    ReactDOM.render(
      <Hello name="world"/>,
      document.body
    );
    </script>

    主要是它里面的

    componentDidMount() {
        this.timer = setInterval(function () {
          var opacity = this.state.opacity;
          opacity -= .05;
          if (opacity < 0.1) {
            opacity = 1.0;
          }
          this.setState({
            opacity: opacity
          });
        }.bind(this), 100);//this绑定在这里??????
      }

    这里this是绑定在这里我就有点疑惑了,因为这个bind是在setInterval里面的而且还是绑定到了里面的函数里,那么这个里面的this不就会变成window么???

  • 相关阅读:
    如何做兼容性测试
    python批量转换excl为csv
    mysql删除用户后再次创建用户报错
    xadmin
    CORS跨域资源共享
    drf自定义公共组件
    luffy项目前端初始化
    luffy项目后端初始化
    企业级项目的环境准备
    base64编码的使用
  • 原文地址:https://www.cnblogs.com/WildSky/p/11267894.html
Copyright © 2011-2022 走看看