问题描述
我正在尝试使用 SSR 在 Nextjs 中发生突变后更新缓存。我可以更新缓存,但用户界面不反映缓存的变化。
在使用 getServerSideProps 获取数据时无法更新 UI,因为缓存是由服务器设置的??
这是我更新缓存的代码。
onClick={async () => {
await removeFromCart({
variables: { productId: p!.product.id as string },update(cache,el) {
const deletedId = el.data?.removeFromCart
console.log(deletedId)
const cartItems = cache.readQuery<MyCartQuery>({
query: MyCartDocument,})
const filteredProds = cartItems?.myCart.products?.filter(
(p) => p?.product.id !== deletedId
)
cache.writeQuery({
query: MyCartDocument,data: {
myCart: {
...cartItems,products: filteredProds,},})
},})
}}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)