Mas*_*sna 5 reactjs react-query
我使用 useQuery() 从服务器接收数据。为了不每次都重复API站点地址和一系列附加参数,我使用了以下自定义钩子:
export function useGetApi(mode, params, key) {
// get initial config from context:
const { config } = useGetConfig();
const url = `https://example.com/api/${ mode }/?${ params }&lang_code=${ config.language }`;
const queryKey = `${key}_${config.language}`;
// async function for get API:
async function getApi() {
const { data } = await axios.get(url);
return data;
}
return useQuery(['getApi', queryKey], getApi, {
enabled: !!config.language
});
}
Run Code Online (Sandbox Code Playgroud)
包括语言在内的一系列基本设置位于名为“Config”的上下文中。在我的每个组件和每个需求中,我都会调用此自定义挂钩并填写参数,例如:
const { isLoading, data: products } = useGetApi(`products`, `company_id=${companyId}`, `products_${companyId}`);
Run Code Online (Sandbox Code Playgroud)
这是错误的吗?
| 归档时间: |
|
| 查看次数: |
4497 次 |
| 最近记录: |