React Js axios设置状态和自我不起作用

时间:2018-07-10 11:24:30

标签: javascript reactjs

这是我到目前为止为使用axios获取数据而编写的代码。

我在做什么错了?

constructor(props) {
  super(props);
  this.state = {
    user_list: []
  };
}

componentDidMount() {
  axios
    .get("http://192.168.1.35:3012/user_list", {})
    .then(function(response) {
      var datalist = response.data[0];
      this.state({ user_list: response.data });
    })
    .catch(function(error) {
      console.log(error);
    });
}

1 个答案:

答案 0 :(得分:1)

在您的axios请求之后赋予then的函数没有您期望的this值。

您可以例如使其变成箭头函数以使其起作用:

componentDidMount() {
  axios
    .get("http://192.168.1.35:3012/user_list")
    .then((response) => {
      var datalist = response.data[0];
      this.state({ user_list: response.data });
    })
    .catch((error) => {
      console.log(error);
    });
}