본문 바로가기
개발/Svelte

[Svelte] Custom stores

by Lake__ 2024. 4. 16.

스벨트

객체가 subscribe 메서드를 정확하게 구현한다면, 그 객체는 스토어(store)가 될 수 있습니다. 즉, 구현 방식에 별다른 제약이 없기 때문에 도메인 특화 로직을 포함하는 커스텀 스토어를 쉽게 만들 수 있습니다.

예를 들어, 이전 예시의 count 스토어는 increment, decrement, reset 메서드를 포함하고 setupdate 메서드를 외부에 노출하지 않도록 만들 수 있습니다.

// stores.js
function createCount() {
  const { subscribe, set, update } = writable(0);

  return {
    subscribe,
    increment: () => update(n => n + 1),
    decrement: () => update(n => n - 1),
    reset: () => set(0)
  };
}

위 코드에서 createCount 함수는 writable(0)을 이용하여 초기값이 0인 스토어를 생성합니다. 하지만 반환되는 객체에는 subscribe 외에 도메인 로직에 맞는 increment, decrement, reset 메서드만 포함됩니다.

이런 방식으로 스토어를 구현하면 개발자가 실제 필요한 기능만 사용할 수 있도록 하며, 구현 코드를 더 명확하게 만들 수 있습니다.


출처 : https://learn.svelte.dev/tutorial/custom-stores

반응형

'개발 > Svelte' 카테고리의 다른 글

[Svelte] Tweens  (0) 2024.04.20
[Svelte] Store bindings  (0) 2024.04.19
[Svelte] Derived stores  (0) 2024.04.15
[Svelte] Readable stores  (0) 2024.04.12
[Svelte] Auto-subscriptions  (0) 2024.04.11