[javascript] MobX와 캐러셀 구현

이번 게시물에서는 MobX를 사용하여 간단한 캐러셀을 구현하는 방법에 대해 알아보겠습니다.

MobX란?

MobX는 JavaScript 애플리케이션 상태 관리를 위한 상태 관찰 라이브러리입니다. React와 함께 사용되는 경우 React 컴포넌트의 상태를 쉽게 관찰하고 업데이트할 수 있습니다. MobX는 단방향 데이터 플로우를 존중하면서도 코드를 간결하게 유지할 수 있는 강력한 상태 관리 솔루션입니다.

캐러셀 구현하기

이제 캐러셀을 구현하는 방법에 대해 알아보겠습니다. 아래의 코드는 MobX를 사용하여 캐러셀을 구현한 예시입니다.

import { action, observable } from 'mobx';

class CarouselStore {
  @observable currentIndex = 0;

  @action
  nextSlide() {
    this.currentIndex = (this.currentIndex + 1) % slides.length;
  }

  @action
  prevSlide() {
    this.currentIndex = (this.currentIndex - 1 + slides.length) % slides.length;
  }
}

const carouselStore = new CarouselStore();

const slides = ['slide1', 'slide2', 'slide3'];

const Carousel = () => {
  return (
    <div>
      <button onClick={carouselStore.prevSlide}>Previous</button>
      <div>{slides[carouselStore.currentIndex]}</div>
      <button onClick={carouselStore.nextSlide}>Next</button>
    </div>
  );
}

위의 코드에서는 MobX의 action 데코레이터를 사용하여 nextSlide()prevSlide() 메서드를 수정할 수 있습니다. currentIndex는 현재 선택된 슬라이드의 인덱스를 나타내며, 각각의 버튼을 클릭했을 때 이 값을 업데이트하여 캐러셀 인덱스를 변경합니다.

이렇게 MobX를 사용하여 캐러셀을 구현하면 React 컴포넌트의 상태를 쉽게 관리할 수 있습니다. MobX는 상태 변화를 감지하여 자동으로 업데이트하므로, 상태 변경에 따른 화면 업데이트도 자동으로 처리됩니다.

결론

MobX는 JavaScript 애플리케이션의 상태 관리를 쉽게 해주는 강력한 라이브러리입니다. 캐러셀과 같은 간단한 기능부터 복잡한 애플리케이션까지 다양한 상태 관리에 활용할 수 있습니다. MobX를 사용하여 캐러셀을 구현하면 상태 관리와 화면 업데이트가 간편해지므로 더 나은 개발 경험을 제공할 수 있습니다.

더 자세한 내용은 MobX 공식 문서를 참조하시기 바랍니다.