NextJS应用程序,呈现一个标题和一个主页/联系人/关于页面:
Simplified 100
export default function MyApp({ Component, pageProps }: Props) {
return (
<>
<Header />
<Component {...pageProps} />
</>
);
}
联系人页面有几个过滤器,它使用一个定制的useContacts
钩子(使用react-query
中的useQuery
)来获取和呈现匹配的联系人.
Simplified Contacts page个
export default function ContactsPage() {
const [filters, setFilters] = useState(...);
const contactsInfo = useContacts(filters);
// render matched contacts
}
标题有一个按钮,它调用一个模式,允许搜索平台上的人并将他们添加为联系人.
当成功添加联系人并且用户在联系人页面上时,我想重新获取联系人(具有当前 Select 的所有过滤器),以便新添加的联系人在页面上立即可见(假设他们通过了当前 Select 的过滤器).
我觉得我很想打contactsInfo.refetch()
,但我打不通contactsInfo
.
Add to contact success callback个
onSuccess: () => {
if (isContactsPage()) { // assume we have a way to identify this
// How can I have access to `contactsInfo` here?
contactsInfo.refetch();
}
}
有什么建议如何最好地组织这件事吗?