Привет, у меня есть client на apollo, который имеет 2 ссылки apollo-link-state и apollo-link-rest
export const client = new ApolloClient({
connectToDevTools: true,
link: ApolloLink.from([RestLink, StateLink]),
resolvers: StateLink.resolvers,
cache
})
Помимо этого у нас есть Web Sockets и я пытаюсь для них создать отдельный линк, который на самом деле должен мутировать уже имеющийся кэш, при каком-то эвенте
export const client = new ApolloClient({
link: ApolloLink.from([RestLink, StateLink, WSLink]),
resolvers: merge(StateLink.resolvers, WSLink.resolvers),
cache
})
// Тут все касается WSLink
const events = {
'status.changes': onStatusChange
}
const onStatusChange = ({ cache, data }) => {
console.log({ data, cache })
??????????????
Тут надо что-то наподобие cache.writeData({
data
})
// Как здесь мутировать имеющийся кэш??? когда я делаю writeData apollo не перезаписывает данные, а создает новые в ROOT
}
Object.entries(events).forEach(([event, handler]) => wsClient.on(event, data => handler({ cache, data })))