为什么我们决定对GraphQL本地状态管理

前言和动机

它是如何工作的

查询getAllMessages (userId美元:ID !) {
用户(id: $ userId) {
的名字
profilePic
消息{
id
记者{
的名字
profilePic
}
isOpen @client
}
}
}
类型ResolverFn = (
父:任何,
参数:任何,
{缓存}:{缓存:ApolloCache <一>}
)= >;
const defaultResolver = {
查询:{
用户:{
消息:{
isOpen:(父母,args,{缓存})= > {
/ /引用缓存数据返回
cache.readQuery ({
查询:MESSAGE_IS_OPEN_QUERY,
变量:{
消息id: parent.id,
},
});
},
},
},
},
};
/ /定义初始客户端状态
const defaultState = {
用户:{
消息:{
isOpen:假的,
}
}
}
const客户= new ApolloClient ({
/ /其他阿波罗配置,如链接
/ /缓存定义
解析器:defaultResolver,
});
/ / '缓存的初始状态
client.writeData ({
查询:MESSAGE_IS_OPEN_QUERY,
数据:{defaultState,},
});

我们遇到的问题

开发人员开销和学习曲线

一点新,一点借来的?

其他选项

我们网络出哪里?

188bet金宝搏官网OkCupid科技博客

读故事OkCupid工程团队每天连接数以百万188bet金宝搏官网计的人

尼克·布兰德

写的

软件工程师·纽约·https://nickbrandt.dev

188bet金宝搏官网OkCupid科技博客

188bet金宝搏官网OkCupid的工程团队负责匹配每天数以百万计的人。OkCupid科技博客上读到他们的故事188bet金宝搏官网

尼克·布兰德

写的

软件工程师·纽约·https://nickbrandt.dev

188bet金宝搏官网OkCupid科技博客

188bet金宝搏官网OkCupid的工程团队负责匹配每天数以百万计的人。OkCupid科技博客上读到他们的故事188bet金宝搏官网