0
MobX를 사용하여 Otello 게임을 만들려고합니다. 그래서 저는 타일 변경을 찾은 다음 이에 따라 다른 타일을 업데이트 할 반응을 보입니다.mobx 반응이 불안정하고 주기적으로 작동합니다.
그래서 아래 코드에서 bumpRandom()
을 실행하여 다른 타일을 변경하여 효과를 확인했습니다. 그러나 이것은 순환 기능으로 들어가고 reaction
은 항상 실행됩니다. reaction
에서 관찰을 중단하려면 어떻게해야합니까?
class OtelloBoard {
@observable cells = [];
constructor() {
for (i = 0; i< SIZE*SIZE; i++) {
this.cells.push(new Cell())
}
reaction(
() => this.cells.map(cell => cell.status),
status => {
this.bumpRandom()
console.log('Status has changed' + status)
}
)
}
@action bumpRandom() {
this.cells[45].bump()
}
}
나는
untracked(() => this.bumpRandom())
시도했지만 그 중 하나가 작동하지 않습니다.
onClick()
그래서 지금 그 때마다 셀 변경을 실행하는 것입니다 실행이 있어요. 또한 셀을 변경하기 때문에 끊임없이 스스로를 호출 할 것입니다. 시작하는 셀이 변경 될 때 bumpRandom을 호출하고 결과 변경 사항이 아닌 경우에만 반응 논리에 논리를 추가해야합니다. –