Dependency가 바뀌면 이전 Effect를 먼저 닫는다

새 setup이 이전 연결 위에 겹치지 않도록 cleanup과 setup의 순서를 지킨다.

render A

roomId = 1

첫 연결에 필요한 값을 캡처

commit A

setup(1)

1번 방 연결을 시작

render B

roomId = 2

dependency 변화 감지

commit B

cleanup(1)

이전 방 연결을 먼저 종료

commit B

setup(2)

2번 방 연결을 새로 시작

핵심dependency 배열은 실행 시점을 꾸미는 옵션이 아니라 effect가 읽는 반응형 값의 목록이다.