useTransitionからの復帰が完了したときに、自分の状態を変更できるようにしたい。つまり、現在、以下の例ではisPendingtrue から false に切り替えていますが、それだけでは十分ではありません。その変更でコードを実行できるようにしたい。
useEffectつまり、以下の例では、保留中のイベントが変更されたときに実行から返されるコードを実行できるようにしたいと考えていますstartTransitionが、それは機能しません。
他のオプションはありますか?
onClick={() => {
startTransition(() => {
const nextUserId = getNextId(resource.userId);
setResource(fetchProfileData(nextUserId));
return () => { DO THIS CODE WHEN PENDING BECOMES FALSE }
});
}}
function App() {
const [resource, setResource] = useState(initialResource);
const [startTransition, isPending] = useTransition({
timeoutMs: 3000
});
return (
<>
<button
disabled={isPending}
onClick={() => {
startTransition(() => {
const nextUserId = getNextId(resource.userId);
setResource(fetchProfileData(nextUserId));
});
}}
>
Next
</button>
{isPending ? " Loading..." : null}
<ProfilePage resource={resource} />
</>
);
}