我的'自定义类'(不扩展其他内容)
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的新手
答案 0 :(得分:1)
getProducts
是实例方法。,您应该创建ApiClient
的实例,然后调用方法
new ApiClient().getProducts()