[javascript] MobX 개요
MobX는 JavaScript 애플리케이션 상태 관리를 위한 간단하고 확장 가능한 상태 관리 라이브러리입니다. React, Angular, Vue와 같은 프레임워크와도 잘 통합되며, 훌륭한 성능과 사용자 경험을 제공합니다.
주요 개념
MobX에서 제공하는 주요 개념은 다음과 같습니다.
Observables
Observables는 상태 변화를 추적하는데 사용됩니다. JavaScript 객체를 observable
로 선언하면, MobX는 해당 객체에서 변경 사항을 자동으로 감지하고 관찰합니다.
import { observable } from "mobx";
const user = observable({
name: "John",
age: 25
});
Actions
Actions는 상태 변화를 일으키는 함수들입니다. @action
데코레이터를 사용하여 액션을 정의하면, MobX는 해당 액션에 의해 변경된 상태를 추적하고 관리합니다.
import { action } from "mobx";
class UserStore {
@observable user = { name: "John", age: 25 };
@action
updateUser(name, age) {
this.user.name = name;
this.user.age = age;
}
}
Reactions
Reactions는 특정 observables에 대한 응답으로 실행되는 함수들입니다. Reactions를 사용하여 UI 업데이트, 네트워크 요청 등을 처리할 수 있습니다.
import { reaction } from "mobx";
reaction(
() => user.age,
age => {
if (age >= 18) {
console.log("성인입니다.");
} else {
console.log("미성년자입니다.");
}
}
);
MobX의 이점
- 단순함: MobX는 간단한 API를 제공하며, 복잡한 상태 관리 코드를 작성할 필요가 없습니다.
- 성능: MobX는 효율적인 상태 업데이트를 제공하여 렌더링 성능을 향상시킵니다.
- 유연성: MobX는 다양한 프레임워크와 함께 사용할 수 있으며, 기존 코드에 쉽게 통합할 수 있습니다.
더 많은 정보와 예제는 MobX 공식 문서를 참고하세요.