2017-05-15 9 views
0

mobx.autorun()이 어떤 관측 대상에 액세스 할 수 있는지를 결정하기 위해 전달 된 함수를 통해 충분히 압도하는 방법이 궁금합니다 (높은 수준의 설명)?mobx.autorun()은 당신이 접근 한 관찰 대상을 어떻게 압니까?

+0

작성자의 [**이 블로그 게시물 **] (https://medium.com/@mweststrate/becoming-fully-reactive-an-in-depth-explanation-of-mobservable-55995262a254)라고 생각합니다. MobX는 어떻게 작동하는지에 대한 훌륭한 설명입니다. – Tholle

답변

1

짧은 이야기는 autorun이 코드를 구문 분석하지 않고 사용법을 찾고 오히려 첫 번째 실행 내에서 관찰 가능 항목의 각 액세스를 기록한다는 것입니다. 이것이 바로 한 번 실행해야하는 이유입니다.

각 관측 가능 항목의 gettersetter을 감싸고있어 (getter를 통해) 어떤 항목을 기록하고 자동 실행 기능이 사용했던 관측 가능 목록을 작성할 수 있습니다. 그 중 하나가 변경되면 (setter를 통해), 자동 검색 기능을 감지하고 자동 실행 기능을 다시 실행합니다.