<Query />
我的Home.js
文件中有一个
主页.js
<Query
query={GET_TODOS_BY_PRODUCT}
variables={{ id: state.get("selectedProduct.id"), completed: true }}
>
{({ data: { product } }) => {
return <Main todos={product.todos} hashtag={product.hashtag} />;
}}
</Query>
在我的Main.js
文件中,我有<Mutation />
组件 -
主程序
<Mutation
key={v4()}
mutation={SWITCH_SELECTED_PRODUCT}
refetchQueries={() => {
console.log("refetchQueries", product.id);
return {
query: GET_TODOS_BY_PRODUCT,
variables: { id: product.id }
};
}}
>
{switchSelectedProduct => (
<Product
onClick={() => {
switchSelectedProduct({
variables: { id: product.id, name: product.name }
});
}}
highlight={
data.selectedProduct
? product.name === data.selectedProduct.name
: i === 0
}
>
<Name>{product.name}</Name>
</Product>
)}
</Mutation>
当switchSelectedProduct
在<Mutation />
组件内部调用时,它会在refetchQueries
我看到console.log("refetchQueries", product.id);
语句时运行,但我没有<Query />
在Home.js
文件中的组件中看到更新的结果。
如何告诉<Query />
组件在文件中运行Home.js
时收到通知?refetchQueries
Main.js
有什么建议?