zoukankan      html  css  js  c++  java
  • [Web 前端] this作用域问题

    图片描述

    如何不用这种写法;理想的写法是this.setState({

    ....

    })

    可能是我没有描述清楚,我不想用这种学法而已,这样多了一个变量,我觉得很不舒服。我尝试了先把 setState 赋值到变量里,底下用那个变量。这样就不要this了。但是没有成功,所以求一种更简练的方法。

    ----------------

    原因 : 因为js的函数会创建新的作用域,把匿名函数改成es6的箭头函数,箭头函数没有this引用,所以不会覆盖外面的this

     

    1:  想保留this,那只能用arrow-function了,代码这样改:

    componentDidMount: function() {
        var n = 1;
        axios({
            method: 'get',
            url: this.props.url,
            params: {
                page: n
            }
        })
            .then(response => {
                this.setState({
                    data: response.data
                });
            })
            .catch(error => {
                console.log(error);
            });
    }
  • 相关阅读:
    Redis笔记
    java多线程 interrupt(), interrupted(), isInterrupted()方法区别
    策略模式
    外观模式
    Java线程池原理与架构分析
    状态模式
    模板方法模式
    LeetCode | Path-Sum
    实用工具
    IDEA springboot配置
  • 原文地址:https://www.cnblogs.com/0616--ataozhijia/p/9160223.html
Copyright © 2011-2022 走看看