[typescript] 타입스크립트와 MobX를 함께 사용하여 상태 초기화 및 리셋 기능 구현하기

최근 웹 애플리케이션에서 상태 관리 라이브러리인 MobX를 사용하는 사례가 많아지고 있습니다. MobX는 React와 함께 사용될 때 강력한 상태 관리를 제공하며, 타입스크립트와도 호환성이 뛰어나기 때문에 많은 개발자들이 선호하는 라이브러리 중 하나입니다. 이번 글에서는 MobX와 타입스크립트를 함께 사용하여 상태 초기화와 리셋 기능을 구현하는 방법에 대해 알아보겠습니다.

1. MobX 및 타입스크립트 설정

먼저 MobX와 타입스크립트를 함께 사용하기 위해 프로젝트를 설정해야 합니다. mobxmobx-react 패키지를 설치하고, 타입스크립트를 지원하기 위해 @mobxmobx-react의 타입 정의 파일(@types/mobx, @types/mobx-react)을 설치합니다.

npm install mobx mobx-react
npm install @types/mobx @types/mobx-react --save-dev

2. MobX 상태 초기화 및 리셋 구현

다음으로, MobX를 사용하여 상태 초기화와 리셋 기능을 구현해보겠습니다. 아래는 간단한 예제 코드입니다.

import { observable, action, makeObservable } from 'mobx';

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

  constructor() {
    makeObservable(this);
  }

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

  @action
  resetTodos() {
    this.todos = [];
  }
}

const todoStore = new TodoStore();

위 코드에서 TodoStore 클래스에서 @observable 데코레이터를 사용하여 todos 상태를 observable로 만들고, @action 데코레이터를 사용하여 addTodoresetTodos 메서드를 액션으로 정의하였습니다.

3. 타입스크립트와 함께 사용

위의 예제 코드에서 TodoStore 클래스에 타입을 추가하여 타입스크립트와 함께 사용할 수 있습니다.

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

  // ... (이하 동일)
}

결론

MobX와 타입스크립트를 함께 사용하여 상태 초기화와 리셋 기능을 구현하는 방법을 알아보았습니다. 이를 활용하여 복잡한 애플리케이션의 상태를 효율적으로 관리할 수 있습니다. MobX와 타입스크립트는 함께 사용될 때 강력한 상태 관리 및 타입 안정성을 제공하므로, 웹 애플리케이션 개발 시 유용하게 활용할 수 있습니다.

참고문헌: