Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 未处理的拒绝(TypeError):这是未定义的-回调函数axios_Reactjs_Callback - Fatal编程技术网

Reactjs 未处理的拒绝(TypeError):这是未定义的-回调函数axios

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

Utils.js

这是我处理请求的函数,我想用回调处理响应

 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})@MohammadFaisal
response
也需要绑定到
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>;
  }
}