[typescript] MobX를 타입스크립트에서 적재적소에 활용하기

MobX는 상태를 관리하고 상태의 변화에 따라 반응적으로 동작하는 애플리케이션을 만들기 위한 강력한 도구입니다. 특히 타입스크립트와의 통합을 통해 안정적인 상태 관리와 강력한 타입 시스템을 결합할 수 있어, 타입스크립트 프로젝트에서 MobX를 사용하는 것이 효율적입니다.

이번 글에서는 MobX를 타입스크립트 프로젝트에서 적재적소에 활용하는 방법을 알아보겠습니다.

타입스크립트와 함께 MobX 사용하기

MobX 스토어 정의하기

MobX를 타입스크립트와 함께 사용하려면 먼저 MobX 스토어를 정의해야 합니다. 이때 @observable, @computed, @action 등의 MobX 데코레이터를 사용하여 상태의 변화를 추적하고, 계산된 상태를 만들고, 액션을 정의할 수 있습니다.

예를 들어, 다음과 같이 MobX 스토어를 타입스크립트로 정의할 수 있습니다.

import { observable, action, computed } from "mobx";

class TodoStore {
  @observable todos: Array<string> = [];

  @action addTodo(todo: string) {
    this.todos.push(todo);
  }

  @computed get todoCount() {
    return this.todos.length;
  }
}

const todoStore = new TodoStore();
export default todoStore;

타입 정의 사용하기

타입스크립트에서는 MobX 스토어의 상태와 액션에 대한 타입을 명확하게 정의할 수 있습니다. 이를 통해 타입 안정성을 확보하고, IDE의 자동완성 기능을 활용할 수 있습니다.

예를 들어, 위의 TodoStore에 대한 타입 정의는 다음과 같이 할 수 있습니다.

type Todo = {
  todos: Array<string>;
  addTodo: (todo: string) => void;
  todoCount: number;
}

마무리

이처럼 MobX를 타입스크립트에서 적재적소에 활용하는 방법을 알아보았습니다. MobX를 타입스크립트와 함께 사용하면 상태 관리와 타입 시스템을 효율적으로 결합하여 안정적이고 유지보수가 쉬운 애플리케이션을 만들 수 있습니다.

더 많은 정보를 찾으려면 MobX 공식 문서를 참고하세요.