reactjs - 反应查询,使用查询返回未定义
问题描述
您好强大的开发人员,
我发现自己在以下问题中:
我在“util”文件中声明了一个名为 useMembers 的钩子:
import { useQuery } from 'react-query';
import { customApi } from 'services/api';
export const useMembers = async ({ myId }) => {
const {
data: response, error, isError, isLoading,
} = await useQuery(
`endpoint-${myId}`,
async () => {
const bigMembers = await customApi.get(`one/lovely/endpoint`);
return {
...bigMembers,
data: {
...bigMembers.data,
members: bigMembers.data,
},
};
},
{
cacheTime: 0
}
);
const memberList = response && response.data && response.data.members || []
console.log(memberList) //return an array with 2 items;
return {
members: memberList,
error,
isError,
isLoading,
status: response?.status,
};
};
export default useMembers;
在主组件文件中,我正在调用我的钩子,但它给出了未定义的:
const { members, error : errorOnMembers, isLoading: isLoadingOnMembers } = useMembers({ myId });
console.log({members}) //undefined;
我不知道为什么它给出未定义,至少应该是一个空数组
解决方案
你不能await
useQuery
。React 钩子通常不是异步函数,因为它们必须在渲染期间同步调用。去掉async
fromuseMembers
和await
前面的useQuery
。
推荐阅读
- docker - 树莓派无法在 docker 上运行 gitlab 镜像
- c++ - 如何检查2个数的模数是否等于0
- javascript - ReactJS Hooks - 基于另一个状态设置状态不会立即呈现
- python - Conv2d 中的单一权重定义和冻结
- python - 如何从嵌套的 pydantic 类中获取值?
- python - python - 如何在python纸浆中使用绝对差条件的总和?
- python - 如何将向量中具有间隔的某些值设置为另一个向量
- indexing - 您能解释一下 Google bot 的访问频率是如何确定的吗?
- unity3d - Navmesh 代理无法通过他路径的某些部分
- r - 如何在 R 中完全打印一个很长的字符串?