【发布时间】:2020-08-10 09:27:57
【问题描述】:
基本上我已经为 api 调用创建了一个自定义组件
import React, {useState, useEffect} from 'react';
import axios from 'axios';
export const useFetch = config => {
const [Response, setResponse] = useState({});
const [Error, setError] = useState({});
const [ShowModal, setShowModal] = useState(false);
const [ShowLoader, setShowLoader] = useState(false);
useEffect(() => {
callAPI();
}, []);
const callAPI = () => {
setShowLoader(true);
axios(config)
.then(res => {
console.log('==>>', res);
if (res.status == 200) {
setShowLoader(false);
setResponse(res.data);
}
})
.catch(err => {
console.log('==>>', err.response);
setError(err.response.data);
setShowLoader(false);
setShowModalErrorMessage(err.response.data.error);
setShowModal(true);
});
};
return {Response, Error, ShowModal, ShowLoader};
};
在这方面的帮助下,如果我将它与组件中的 useEffect/componentDidMount 一起使用,我可以调用 api 并获得响应。但是如何使用相同的方法在按钮单击时调用不同的 api。有可能吗?
我关注了这个=> post
【问题讨论】:
-
不同的api...不同的配置?
-
取决于您所说的不同 API 的含义,也许将
config作为参数传入? -
@DennisVash 是不同的 api/config
标签: javascript reactjs react-native react-hooks