有人可以向我解释为什么 this.setState 不是函数吗?
我看不到为什么我的代码有错误
import React from 'react';
import axios from 'axios'
import { StyleSheet, Text, View , Image} from 'react-native';
export default class App extends React.Component {
constructor(){
super();
this.state = {res: []}
}
componentDidMount() {
axios.get('https://api.github.com/repos/torvalds/linux/commits')
.then(function (response) {
this.setState({res: response});
}).catch(function (error) {
console.log(error);
});
}
}
谢谢
答案 0 :(得分:3)
这是lexical scope
问题。使用arrow function
。
> Integral(u(x)*Derivative(v(x), x) + v(x)*Derivative(u(x), x), x)
答案 1 :(得分:2)
发生错误的原因是this
没有引用axios的解析器功能内的组件类上下文。您可以将解析器功能用作粗箭头功能,以使代码正常工作,如下所示:
componentDidMount() {
axios.get('https://api.github.com/repos/torvalds/linux/commits')
.then((response) => {
this.setState({res: response});
}).catch(function(error) {
console.log(error);
});
}
或者您可以将其更改为如下所示:
componentDidMount() {
let self = this;
axios.get('https://api.github.com/repos/torvalds/linux/commits')
.then(function(response) {
self.setState({res: response});
}).catch(function(error) {
console.log(error);
});
}