【发布时间】:2019-06-26 17:40:39
【问题描述】:
我的用户查询越来越长,我正在考虑将其分成两个查询,一个 ME_QUERY 具有最常用的参数,如 userType、userName、userID 和一个 USER_QUERY 以包含所有我需要用户的参数,但 USER_QUERY 仅在用户设置和付款页面中需要,而 ME_QUERY 几乎在每个组件中都使用,因为我需要 userType 到处都是 @ 987654326@.
但我不确定将它们分成两个查询是否是个好主意,因为它们都缓存在内存中各自的空间中,因此将它们分开意味着内存中的两个位置,虽然查询时间很长,但很长,但只会在内存中保留一个位置,并且在突变后更新它也会更容易。
所以问题是,我是否也需要ME_QUERY 还是在用户登录后已经运行一次的USER_QUERY 就足够了?
以下是两个查询:
export const USER_QUERY = gql`
query {
user {
uid
avatar
isAdmin
projectCount
sessions
providers
payments // is a long object itself
coupon
credits
email
userName
userType
createdAt
hasPassword
companyName
vatNumber
addressLine1
addressLine2
country
companySize
}
}
`;
export const ME_QUERY = gql`
query {
user {
uid
avatar
isAdmin
email
userName
userType
createdAt
}
}
`;
【问题讨论】:
标签: graphql apollo react-apollo apollo-client