인프런 커뮤니티 질문&답변

몽키님님의 프로필 이미지
몽키님

작성한 질문수

Redux vs MobX (둘 다 배우자!)

reaction이 여러번 실행되는 문제

작성

·

254

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

몽키님님의 프로필 이미지
몽키님
질문자

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

1

이상하네요.

몽키님님의 프로필 이미지
몽키님

작성한 질문수

질문하기