から に移行しrelay 10ていますが、からrelay 11の呼び出しで奇妙なエラーが発生します。ここに私のコンポーネントがあります:refetchuseRefetchableFragment
const EditClient: FC<Props> = ({ clientRef }) => {
const [refetchData, refetch] = useRefetchableFragment<EditClientContactsRefetchQuery, any>(
graphql`
fragment EditClient_refetch_client on Client
@refetchable(queryName: "EditClientContactsRefetchQuery") {
contacts {
...ContactList_contact
}
}
`,
clientRef
);
return (
<>
<ContactList contact={refetchData.contacts} />
<button onClick={() => refetch({}, { fetchPolicy: 'network-only' })>
refetch
</button>
</>
);
}
次に、ボタンをクリックすると、graphql クエリが再フェッチされますが、エラーもスローされます。
react_devtools_backend.js:2430 警告: リレー:のフラグメントで
refetch予想よりも高い優先度で予期しない呼び出しが行われました。優先度の高い更新で呼び出しを試みたようですが、コンポーネントを一時停止させる可能性のある更新は、通常の優先度でスケジュールする必要があります。フックから内部で呼び出していることを確認してください。EditClient_refetch_clientuseRefetchableFragment()refetchrefetchstartTransition()useSuspenseTransition()
とは何ですか?イベントをhigh priority updateに配置する方法は? リレーのドキュメントには、関数の呼び出し方法は何も記載されていません。onClicknormal priorityrefetch
refetchcall をコールバックに入れてもエラーは発生setTimeoutしませんが、それは正しくありません。