MobX

observable state 만들기

테이머즈 2021. 5. 26. 15:48
  • observable state를 감시하는
  • action state를 바꿀 메서드
  • computed state로 부터 새로운 변화를 가지고 올 getter, 결과물을 cache함.

makeObservable

주로 클래스 생성자에서 선언(target은 this)

target으로 모든 js object를 넘길 수 있음

 

makeAutoObservable

super가 있거나 subclass가 있는 class에선 사용 불가

makeObservable과 비교해서 자동적으로 관리해주기 때문에 편리함.

makeAutoObservable의 규칙:

  • 자신의 property는 다 observable이 된다.
  • getter는 computed로
  • setter는 action으로
  • prototype인 모든 함수는 autoAction이 된다.

observable

observable또한 함수처럼 사용해 전체 객체를 observable하게 할 수도 있다.

 

Converting observables back to vanilla JavaScript collections

더이상 observable하지 않거나 필요가 없을 때

const plainObject = {...observableObject}
const plainArray = observableArray.slice()
const plainMap = new Map(observableMap)