• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

reaction이 여러번 실행되는 문제

21.01.20 02:08 작성 조회수 167

1

안녕하세요. 좋은 강의 잘 듣고있는 1인입니다.

reaction를 사용하여 특정 값에 대한 변경이 있을 때 콜백이 실행되도록 하는 기능으로 알고있는데

의문점이 있어 이렇게 질문드립니다.

autorun(() => {
console.log(456456);
})

reaction(() => doubleObject.value, () => {
console.log(123123);
})

이런식으로 작성되어있고

doubleObject.js는

const doubleObject = observable({
value: 1,
get double() {
return this.value * 2
},
increment() {
this.value++
},
})

이렇게 되어있습니다.

increment를 실행하여 value를 바꿔보면 console.log가 찍히는데

reaction 부분이 계속 새로운 스택이 쌓이듯 증가되어 실행됩니다.

혹시 몰라 alert으로 띄워봐도

처음엔 1번

increment가 실행될때마다 +1 되어

alert이 두 번, 세 번, 네 번 이렇게 중첩되어 뜹니다.

혹 이 관련하여 아시는 내용이 있을까요?

답변 2

·

답변을 작성해보세요.

1

몽키님님의 프로필

몽키님

질문자

2021.01.20

제 코드에서만 그러는게 아니라 강좌에서 사용된 제로초님 깃을 커밋해 실행해도 같은 모습이니.. 이상하네요

1

haon님의 프로필

haon

2021.01.20

이상하네요.