React:如何定义和调用自定义类中的函数?

时间:2017-02-15 13:58:28

标签: javascript reactjs typescript

我的'自定义类'(不扩展其他内容)

import Axios from "../node_modules/axios";

class ApiClient {

  getProducts(success_callback) {
    Axios.get('/api/timers')
      .then(this.checkStatus)
      .then(this.parseJSON)
      .then(success_callback)
  }

  checkStatus(response) {
    if (response.status >= 200 && response.status < 300) {
      return response;
    } else {
      const error = new Error(`HTTP Error ${response.statusText}`);
      error.status = response.statusText;
      error.response = response;
      console.log(error);
      throw error;
    }
  }

  parseJSON(response) {
    return response.json();
  }

}


export default ApiClient;

我使用

在app.js文件中导入
import ApiClient from "./ApiClient";

尝试使用

调用它
  componentDidMount() {
    ApiClient.getProducts( (response) => {
      this.setState({ products: response.products});
    });

  }

当浏览器尝试调用ApiClient.getProducts()

时,错误发生在运行时

这是来自Chrome的错误文字:

Uncaught TypeError: _ApiClient2.default.getProducts is not a function

拜托,请耐心等待我,我是React的新手

1 个答案:

答案 0 :(得分:1)

getProducts是实例方法。,您应该创建ApiClient的实例,然后调用方法

new ApiClient().getProducts()