Reactjs 未处理的拒绝(TypeError):这是未定义的-回调函数axios
Utils.js 这是我处理请求的函数,我想用回调处理响应Reactjs 未处理的拒绝(TypeError):这是未定义的-回调函数axios,reactjs,callback,Reactjs,Callback,Utils.js 这是我处理请求的函数,我想用回调处理响应 static Request(data, callback) { const method = data[0] || ""; const url = data[1] || ""; const param = data[2] || ""; const headers = data[3] || "&quo
static Request(data, callback) {
const method = data[0] || "";
const url = data[1] || "";
const param = data[2] || "";
const headers = data[3] || "";
if (method.toLowerCase() === 'post') {
var data = {
url: url,
method: method.toLowerCase(),
contentType: 'application/json',
data: {
param
}
};
if (headers) {
data.headers = {
headers
};
}
axios(data).then(function (response) {
console.log(response);
})
.catch(function (e) {
console.log(e);
});
} else if (method.toLowerCase() === 'get') {
axios.get(url)
.then((response) => {
// console.log(response.data);
callback(response.data);
return (response.data);
})
} else {
console.log("Undefined");
}
}
这就是我试图从回调中获取响应的方式。(不同文件)
然后按一个按钮
button onClick={this.handleClick()}>Teste</button
button onClick={this.handleClick()}>TesteClick
this.handleClick()}>Teste
;
}
}
错误似乎来自您的组件文件。你能核实一下吗?你到底是从哪里得到这个错误的?错误来自:this.state({response:data.msg})@MohammadFaisalresponse
也需要绑定到this
或更改为箭头函数。好的,我得到了,谢谢Brian<代码>(数据)=>{this.setState({response:data.msg})})
button onClick={this.handleClick()}>Teste</button
export default class Discover extends Component {
constructor(props) {
super(props);
this.state = { itemArray: [], response: null };
this.handleClick = this.handleClick.bind(this);
}
handleClick() {
Utils.Request(['get', 'url'],
function Response(data) {
this.setState({ response: data.msg })
})
}
render() {
return <React.Fragment>
<button onClick={() => { console.log(this.state.response) }}>Click</button>
<button onClick={() => this.handleClick()}>Teste</button>
</React.Fragment>;
}
}