[英]React-apollo update not reloading after mutation if I transform data before the render()
我已經包裝了Query和Mutations,所以我可以全局處理每個Query, Mutation
需要發生的重復操作。 在查詢中我轉換數據,所以我不需要擔心所有的nodes, edges, etc
我正在使用react-adopt
將我的所有query
和mutations
組件包裝回視圖層上的一個渲染道具。
<ApolloQuery>
export const ApolloQuery = ({
query: query,
render,
}) => {
return (
<Query query={query}>
{({ data }) => {
return (
<Fragment>
render(data)
</Fragment>
)
}}
</Query>
)
}
export default externalProps => {
return (
<QueryContainer {...externalProps}>
{({ someQueryData, aMutation }) => { //react-adopt render props
const { nestedData } = new apolloClass(someQueryData).start()
return (
<Grid container spacing={16}>
{nestedData.map((ticket, index) => (
{...Mutation button in here}
))}
</Grid>
)
}}
</QueryContainer>
)
}
<ApolloQuery>
<Query query={query}>
{({ data }) => {
const transformedData = new apolloClass(data).start() //move transform into render
return (
<Fragment>
render(transformedData)
</Fragment>
)
}}
</Query>
export default externalProps => {
return (
<QueryContainer {...externalProps}>
{({ someQueryData: { nestedData }, aMutation }) => {
return (
<Grid container spacing={16}>
{nestedData.map((ticket, index) => (
{...Mutation button in here}
))}
</Grid>
)
}}
</QueryContainer>
)
}
所以現在,如果我在query
呈現之前移動apolloClass
進行轉換,頁面將不會在突變后更新
您很可能需要在突變選項中設置refetchQueries
或awaitRefetchQueries
以強制Apollo更新這些查詢,從而觸發重新渲染。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.