©2019 Wantedly, Inc.
ϑϩϯτΤϯυΛ։ൃ͢Δͱ͖ʹ͍ͬͯΔٕज़
6*ϥΠϒϥϦ%&.0 function Counter() {
const [count, setCount] = React.useState(0);
const savedCallback = React.useRef();
function callback() {
setCount(count + 1);
}
React.useEffect(() => {
savedCallback.current = callback;
});
React.useEffect(() => {
function tick() {
savedCallback.current();
}
let id = setInterval(tick, 1000);
return () => clearInterval(id);
}, []);
return
{count}
;
}
ӈͷΑ͏ͳ$MBTTߏจͰهड़͞Εͨඵ͓͖ʹΧϯ
τΞοϓ͍ͯ͘͠ίϯϙʔωϯτΛ)PPLT"1*Λ
ͬͯॻ͖͢ͱͨ͠ΒͲ͏͢Δʁ
VTF4UBUFVTF3FGVTF&GGFDUͷΈ߹Θ͕ͤඞ
ཁɻͪΐͬͱ͍͚͠ͲɺڧྗͳͷͳͷͰษڧͯ͠
Έͯ΄͍͠ɻ