[javascript] Parcel에서 MobX를 사용하는 방법은?

먼저, 프로젝트 디렉토리에서 필요한 패키지를 설치해야 합니다. 터미널에서 다음 명령어를 실행합니다:

npm install mobx mobx-react

이제 MobX를 사용하기 위해 필요한 코드를 작성해보겠습니다.

  1. index.js 파일을 만들고 다음 내용을 추가합니다:
import React from 'react';
import ReactDOM from 'react-dom';
import { configure } from 'mobx';
import { Provider } from 'mobx-react';

import App from './App';
import Store from './Store';

configure({
  enforceActions: 'observed',
});

const store = new Store();

ReactDOM.render(
  <Provider store={store}>
    <App />
  </Provider>,
  document.getElementById('root')
);
  1. Store.js 파일을 만들고 다음 내용을 추가합니다:
import { observable, action } from 'mobx';

class Store {
  @observable counter = 0;

  @action increment() {
    this.counter++;
  }

  @action decrement() {
    this.counter--;
  }
}

export default Store;
  1. App.js 파일을 만들고 다음 내용을 추가합니다:
import React, { useContext } from 'react';
import { observer } from 'mobx-react';

import { StoreContext } from './Store';

const App = observer(() => {
  const store = useContext(StoreContext);

  return (
    <div>
      <h1>Counter: {store.counter}</h1>
      <button onClick={store.increment}>Increment</button>
      <button onClick={store.decrement}>Decrement</button>
    </div>
  );
});

export default App;

위 코드에서는 MobX의 observableaction 데코레이터를 사용하여 상태를 관리합니다. Provider 컴포넌트로 전역적으로 상태를 제공하고, observer를 사용하여 상태 변화를 감지하고 자동으로 뷰를 업데이트합니다.

마지막으로, HTML 파일에 <div id="root"></div>를 추가한 후, 애플리케이션을 시작할 수 있습니다.

이제 Parcel을 실행하고 MobX를 사용하는 애플리케이션을 빌드하고 실행할 수 있습니다. 터미널에서 다음 명령어를 실행합니다:

parcel index.html

이제 애플리케이션을 웹 브라우저에서 확인할 수 있습니다. 현재 카운터 값이 표시되며 증가 및 감소 버튼을 클릭하면 값이 변화합니다.

참고: 이 예제는 MobX의 기본 사용법을 보여주는 간단한 예제입니다. MobX의 더 많은 기능과 사용 방법을 알아보려면 MobX 공식 문서를 참조하시기 바랍니다.

References