我正在做一个非常简单的突变,它将项目添加到单个项目列表中,我可以看到,在突变之后它已成功添加到缓存中:
但是该页面不会使用新数据进行更新。
export const RAW_CONFIG = `
{
allAdminConfigCategories {
edges {
node {
id
name
dateCreated
dateEdited
}
}
}
}
`
<Query fetchPolicy="cache-and-network" query={CONFIG}>
{({ data: { allAdminConfigCategories } }) => {
const items = allAdminConfigCategories ? allAdminConfigCategories.edges.map(item => item.nodes) : []
return (
<Container data={allAdminConfigCategories} testId="admin-config">
<Mutation mutation={CREATE}>
{mutation => {
return <Form submit={mutation} trigger={<CreateButton />} />
}}
</Mutation>
<Divider />
<List>
{allAdminConfigCategories.map(item => (
<h1>{item.name}</h1>
))}
</List>
</Container>
)
}}
</Query>
我已包含所有可能的可返回数据,以期希望找到可行的方法。我的理解是,如果有一个ID,它将针对缓存进行检查。
export const CREATE = gql`
mutation createAdminConfigCategory($name: String!) {
createAdminConfigCategory(input: { adminConfigCategory: { name: $name } }) {
adminConfigCategory {
id
name
dateCreated
dateEdited
}
}
}
`