startTransition
startTransition γδ½Ώγγγ¨γ§γUI γγγγγ―γγγ« state γζ΄ζ°γγγγ¨γγ§γγΎγγ
startTransition(scope)γͺγγ‘γ¬γ³γΉ
startTransition(scope)
startTransition ι’ζ°γδ½Ώη¨γγγ¨γstate οΏ½?ζ΄ζ°γγγ©γ³γΈγ·γ§γ³γ¨γγ¦γγΌγ―γγγγ¨γγ§γγΎγγ
import { startTransition } from 'react';
function TabContainer() {
const [tab, setTab] = useState('about');
function selectTab(nextTab) {
startTransition(() => {
setTab(nextTab);
});
}
// ...
}εΌζ°
scope: 1 γ€δ»₯δΈοΏ½?setι’ζ°γεΌγ³εΊγγ¦ state γζ΄ζ°γγι’ζ°γReact γ―εΌζ°γͺγγ§η΄γ‘γ«scopeγεΌγ³εΊγγscopeι’ζ°εΌγ³εΊγδΈγ«εζηγ«γΉγ±γΈγ₯γΌγ«γγγγγΉγ¦οΏ½? state ζ΄ζ°γγγ©γ³γΈγ·γ§γ³γ¨γγ¦γγΌγ―γγΎγγγοΏ½?γγγͺζ΄ζ°γ―γγ³γγγγγ³γ°γ«γͺγγδΈθ¦γͺγγΌγγ£γ³γ°γ€γ³γΈγ±γΌγΏγ葨瀺γγͺγγγγ«γͺγγΎγγ
θΏγε€
startTransition γ―δ½γθΏγγΎγγγ
注ζηΉ
-
startTransitionγ―γγγ©γ³γΈγ·γ§γ³γδΏηδΈ (pending) γ§γγγγ©γγγη₯γγγοΏ½?ζΉζ³γζδΎγγΎγγγγγ©γ³γΈγ·γ§γ³οΏ½?ι²θ‘δΈγ«γ€γ³γΈγ±γΌγΏγ葨瀺γγγ«γ―γ代γγγ«useTransitionγεΏ θ¦γ§γγ -
state οΏ½?
setι’ζ°γ«γ’γ―γ»γΉγ§γγε ΄εγ«οΏ½?γΏγstate ζ΄ζ°γγγ©γ³γΈγ·γ§γ³γ«γ©γγγ§γγΎγγγγ props γγ«γΉγΏγ γγγ―οΏ½?ε€γ«εεΏγγ¦γγ©γ³γΈγ·γ§γ³γιε§γγγε ΄εγ―γ代γγγ«useDeferredValueγ試γγ¦γΏγ¦γγ γγγ -
startTransitionγ«ζΈ‘γι’ζ°γ―εζηγ§γͺγγγ°γͺγγΎγγγReact γ―γοΏ½?ι’ζ°γη΄γ‘γ«οΏ½?οΏ½θ‘γγγοΏ½?οΏ½?οΏ½θ‘δΈγ«θ‘γγγγγΉγ¦οΏ½? state ζ΄ζ°γγγ©γ³γΈγ·γ§γ³γ¨γγ¦γγΌγ―γγΎγγεΎγ«γͺγ£γ¦οΌδΎγγ°γΏγ€γ γ’γ¦γε γ§οΌγγγ« state ζ΄ζ°γγγγγ¨γγγ¨γγγγγ―γγ©γ³γΈγ·γ§γ³γ¨γγ¦γγΌγ―γγγΎγγγ -
γγ©γ³γΈγ·γ§γ³γ¨γγ¦γγΌγ―γγγ state ζ΄ζ°γ―γδ»οΏ½? state ζ΄ζ°γ«γγ£γ¦δΈζγγγΎγγδΎγγ°γγγ©γ³γΈγ·γ§γ³ε γ§γγ£γΌγγ³γ³γγΌγγ³γγζ΄ζ°γγεΎγγγ£γΌγοΏ½?εγ¬γ³γγΌοΏ½?ιδΈγ§ε ₯εγγ£γΌγ«γγ«ε ₯εγε§γγε ΄εγReact γ―ε ₯εζ¬οΏ½?ζ΄ζ°οΏ½?ε¦ηεΎγ«γγ£γΌγγ³γ³γγΌγγ³γοΏ½?γ¬γ³γγΌδ½ζ₯γειγγΎγγ
-
γγ©γ³γΈγ·γ§γ³γ«γγζ΄ζ°γ―γγγΉγε ₯εζ¬οΏ½?εΆεΎ‘γ«γ―δ½Ώη¨γ§γγΎγγγ
-
ι²θ‘δΈοΏ½?γγ©γ³γΈγ·γ§γ³γθ€ζ°γγε ΄εγReact γ―ηΎε¨γγγγγ²γ¨γ€γ«ζγγε¦ηγθ‘γγΎγγγοΏ½?εΆιγ―ε°ζ₯οΏ½?γͺγͺγΌγΉγ§γ―γγγγει€γγγΎγγ
δ½Ώη¨ζ³
state ζ΄ζ°γγγ³γγγγγ³γ°οΏ½?γγ©γ³γΈγ·γ§γ³γ¨γγ¦γγΌγ―γγ
state ζ΄ζ°γγγ©γ³γΈγ·γ§γ³γ¨γγ¦γγΌγ―γγγ«γ―γγγγ startTransition οΏ½?εΌγ³εΊγγ§γ©γγγγΎγγ
import { startTransition } from 'react';
function TabContainer() {
const [tab, setTab] = useState('about');
function selectTab(nextTab) {
startTransition(() => {
setTab(nextTab);
});
}
// ...
}γγ©γ³γΈγ·γ§γ³γδ½Ώη¨γγγγ¨γ§γι γγγγ€γΉγ§γγ¦γΌγΆγ€γ³γΏγΌγγ§γΌγΉοΏ½?ζ΄ζ°γγ¬γΉγγ³γ·γγ«δΏγ€γγ¨γγ§γγΎγγ
γγ©γ³γΈγ·γ§γ³γδ½Ώη¨γγγ¨γεγ¬γ³γγΌοΏ½?ιδΈγ§γ UI γγ¬γΉγγ³γ·γγ«δΏγγγΎγγδΎγγ°γγ¦γΌγΆγγΏγγγ―γͺγγ―γγγγγοΏ½?εΎζ°γε€γγ£γ¦ε₯οΏ½?γΏγγγ―γͺγγ―γγε ΄εγζεοΏ½?εγ¬γ³γγΌγη΅δΊγγοΏ½?γεΎ γ€γγ¨γͺγγγγθ‘γγγ¨γγ§γγΎγγ