useQueryがundefinedを返すときの一時的な方法!
私の場合
発生したエラー
疑問点
便宜の策
(onCompletedが出力するデータはまだ定義されていません.async/awaitを使用すると、正常な値が出力されていることがわかります.)
コード#コード#
gqlクエリー
export const GETALLPAGE = gql`
query getAllPage($workSpaceId: Float!) {
getAllPage(workSpaceId: $workSpaceId) {
children
isRoot
level
pageId
title
}
}
`;
useQuery hook(refetch使用)
const { loading: getAllPagesLoading, refetch: getAllPages } = useQuery(
GETALLPAGE,
{
onCompleted: (data) => {
console.log("야아아아아앙", data); ** 😭=>이부분에서 undefine 출력됨 **
},
onError: (e) => console.log("나 실패", e),
skip: true,
}
);
async/awaitの使用
(async () => {
const data = await getAllPages({
workSpaceId: +data.getAllWorkSpace[0].id,
});
console.log(data); => 여기서는 정상 출력😳
})();
その他の学習内容
一時的な方法はasync/awaitしか利用できません.
Reference
この問題について(useQueryがundefinedを返すときの一時的な方法!), 我々は、より多くの情報をここで見つけました https://velog.io/@brill_be/useQuery가-undefined를-리턴한다면テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol