【发布时间】:2020-09-16 03:42:02
【问题描述】:
我有一个新产品的突变。我用 cache.writeQuery 更新缓存,我想按名称订购产品。我的代码不起作用,新产品总是最后一项(见图)。我可以看到错误。你可以帮帮我吗?怎么了?
组件新产品
import { gql, useMutation } from '@apollo/client'
const NEW_PRODUCT = gql`
mutation newProduct($input: ProductInput) {
newProduct(input:$input) {
id
name
stock
price
date_creation
}
}`
const GET_PRODUCTS = gql`
query getProducts{
getProducts{
id
name
stock
price
}
}`
const NouProducte = () => {
const [newProduct] = useMutation(NEW_PRODUCT, {
update(cache, { data: { newProduct } }) {
const { getProducts } = cache.readQuery({ query: GET_PRODUCTS })
cache.writeQuery({
query: GET_PRODUCTS,
data: {
getProducts: [...getProducts, newProduct],
variables: { orderBy: name }
}
})
}
})
}
【问题讨论】:
标签: reactjs graphql apollo-client