Dog foot print

[SVELTE] Store contract 본문

SVELTE/API DOCS

[SVELTE] Store contract

개 발자국 2021. 5. 20. 17:35

Store contract

store = { subscribe: (subscription: (value: any) => void) => (() => void), set?: (value: any) => void }

개발자는 svelte/store의 도움 없이, store contract를 구현 할 수 있습니다.

다음은 커스텀 스토어를 생성하기 위한 규칙입니다.

  1. 스토어는 반드시 subscription 정의에 맞는 첫번째 전달인자를 가진 .subscribe메서드를 가지고 있어야 합니다. subscription콜백은 신속하고 동기적으로 현재 값을 전달해주어야 합니다.
  2. .subscribe메서드는 반드시 unsubscribe메서드를 반환해야 합니다. unsubscribe메서드를 호출 하게되면, 더 이상 store의 호출에도 subscription함수가 실행 되어서는 안됩니다.
  3. 스토어는 .set메서드를 포함 할 수 있습니다. .set메서드의 전달인자는 store의 새로운 값이되며, subscription함수가 호출 되어야만 합니다.

RxJS Observable과의 호성을 위해, .subscribe메서드에서 반환되는 값을 이용하여, 구독취소를 할 수도 있지만, .unsubscribe메서드를 직접 이용하여 구독취소를 할 수도 있습니다.

Note : 만약 .subscription 함수를 동기적으로 호출하지 않는 경우, 스벨트는 현재 스토어의 값을 undefined 로 인식 할 수 있습니다.

반응형

'SVELTE > API DOCS' 카테고리의 다른 글

[SVELTE] Comment  (0) 2021.05.21
[SVELTE] Attributes and props  (0) 2021.05.21
[SVELTE] STYLE  (0) 2021.05.21
[SVELTE] context="module"  (0) 2021.05.20
[SVELTE] svelte-script  (0) 2021.05.20
Comments