0

我创建了非常简单的“登录”页面,该页面应该将“电子邮件”和“密码”存储在本地缓存中,然后在提交时在控制台上显示存储的值(这是通过 resolvers.js 中的突变完成的)。

将电子邮件和密码值保存到缓存中似乎工作正常,但每次我尝试从缓存中读取值时,我都会收到“网络错误:无法读取未定义的属性‘种类’”。任何线索有什么问题?

我的最小示例: https ://codesandbox.io/s/jv6mx6yoo9

4

1 回答 1

3

问题是调用 readQuery 时缺少查询参数名称(感谢@hwillson on apollo-react #slack 指出这一点):

const LOGIN_DATA_QUERY = gql`
    query GetLoginData {
        email @client      
        password @client      
    }
`;
// (...)

const data = cache.readQuery({ LOGIN_DATA_QUERY });

应该:

const data = cache.readQuery({ query: LOGIN_DATA_QUERY });
于 2018-08-21T05:53:11.743 回答