-
카테고리
-
세부 분야
프론트엔드
-
해결 여부
미해결
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