javascript - 为什么这会从“未定义”变为“对象”?
问题描述
我正在使用下一个,chakra-ui,但我不知道为什么会发生这种情况
src/pages/myAccount.tsx
import { Box, Link } from '@chakra-ui/react';
import { withUrqlClient } from 'next-urql';
import React from 'react';
import { NavBar } from '../components/NavBar';
import { useGetUserByIdQuery } from '../generated/graphql';
import { createUrqlClient } from '../utils/createUrqlClient';
interface myAccountProps {}
const myAccount: React.FC<myAccountProps> = ({}) => {
const [{data, fetching},] = useGetUserByIdQuery();
console.log("1.", data);
if (!data) {
return (
<>
Invalid Access, Not logged in
</>
)
}
console.log("2.", data);
let userInfo = data.getUserById;
return (
<>
<NavBar/>
<Box>{userInfo.userId}</Box>
<Box>{userInfo.userName}</Box>
<Box>{userInfo.univ}</Box>
<Box>{userInfo.sex}</Box>
<Box>{userInfo.firstName}</Box>
<Box>{userInfo.lastName}</Box>
<Box>{userInfo.age}</Box>
<Box>{userInfo.email}</Box>
</>);
}
export default withUrqlClient(createUrqlClient)(myAccount);
当我执行这段代码时,它根本不起作用。我得到了这样的控制台日志
1. undefined
1. {getUserById: null}
2. {getUserById: null}
1. {getUserById: null}
2. {getUserById: null}
我的问题是,就在“如果”之后,为什么数据会从“未定义”变为“对象”?
解决方案
推荐阅读
- swift - 斯威夫特:如何将 Any 转换为可比较的?
- android - SearchView ui 测试android
- javascript - 从 url 获取 JSON 并打印到页面上
- c++ - 如何计算此 C++ 代码中的正确答案
- rust - 如何在稳定的 Rust 中分配堆上的结构而不占用堆栈上的空间?
- javascript - 计时器结束后显示测验的下一个问题
- java - 每当我重新单击或导航到下一个片段时,我的片段都会不断重新创建
- java - 如何使用springboot 2.x对elasticsearch进行全文搜索?
- python - 订购两个没有导入的排序生成器
- java - 使用antlr parsetree将sql查询解析为Java中的mongo bson文档