依存配列 (deps) とリソースの同期
レンダー
コミット
レンダー
コミット
レンダー
コミット
レンダー
コミット
{ a: 0, b: 0 }
DOM更新
{ a: 0, b: 1 }
DOM更新
{ a: 1, b: 0 }
DOM更新
{ a: 1, b: 1 }
DOM更新
レンダー
コミット DOM更新
レンダ
リングと
同期
した状態
setup
cleanup
レンダ
リングと
同期
した状態
setup
cleanup
レンダ
リングと
同期
した状態
setup
cleanup
レンダ
リングと
同期
した状態
setup
cleanup
親コンポーネントから削除
0:0
function Foo({a, b}) {
useEffect(() => {...});
return
{a}:{b}
;
}
コンポーネント実行
0:1
1:0
1:1
{ a: 0 }
と同期
した状態
setup
cleanup
{ a: 1 }
と同期
した状態
setup
cleanup
コンポー
ネント
と同期
した状態
setup
cleanup
function Bar({a, b}) {
useEffect(() => {...}, [a]);
return
{a}:{b}
;
}
function Baz({a, b}) {
useEffect(() => {...}, []);
return
{a}:{b}
;
}
Props
コンポーネント実行
コンポーネント実行
コンポーネント実行
188