[javascript] MobX의 리액션

MobX는 JavaScript 상태 관리 라이브러리로, 리액션(Reaction)이라는 개념을 제공합니다. 리액션은 MobX에서 상태 변화에 대한 자동 반응을 구현하는 방법입니다.

리액션은 Observable 상태나 컴퓨티드 값을 기반으로 동작하며, 이들 값에 의존성을 가지고 있습니다. 따라서 의존하는 값이 변경되었을 때, 리액션은 자동으로 다시 실행됩니다.

리액션은 주로 뷰 컴포넌트나 비동기 작업 등에서 사용됩니다. 예를 들어, 화면에 표시될 데이터가 변경되었을 때 자동으로 화면을 업데이트하거나, 비동기 작업의 완료 여부를 감지하여 적절한 동작을 수행하는 등의 경우에 리액션을 활용할 수 있습니다.

MobX 리액션의 종류

MobX는 다양한 종류의 리액션을 제공합니다. 가장 일반적인 리액션은 autorun, when, reaction입니다.

MobX 리액션의 예제

다음은 MobX 리액션을 사용하는 간단한 예제입니다.

import { observable, autorun } from 'mobx';

const data = observable({
  count: 0,
});

autorun(() => {
  console.log(`Count: ${data.count}`);
});

data.count = 1;
data.count = 2;

위 예제에서는 autorun을 사용하여 data.count 값이 변경될 때마다 자동으로 실행되는 리액션을 정의합니다. autorun 내부에서는 변경된 count 값을 콘솔에 출력합니다. 따라서 data.count가 1로 변경되었을 때와 2로 변경되었을 때, 해당 리액션이 실행되어 콘솔에 출력됩니다.

참고 문서: MobX 리액션