inflearn logo
강의

Course

Instructor

Svelte.js [Core API] Complete Guide

8. Lists Custom Store and Storage API

스토어를 왜 사용하는지 궁금합니다

236

yifi10040644

9 asked

0

list.js 에서 스토어를 사용안하고 스토리지만 사용해서 할 수도 있는 부분이 아닌가요? 시도는 안해봤지만.. 왠지 스토어가 없어도 될 거 같은데 왜 스토어를 사용하는지 궁금합니다..!

말도 안되는 질문이라면 죄송합니다

Sortable svelte Rollup

Answer 1

1

HEROPY

스토어스토리지는 데이터를 저장할 수 있다는 측면에서는 같습니다.

하지만 스토리지에 저장한 데이터는 반응성(Reactivity)이 없습니다.

예를 들어, 스토리지에 저장된 abc 데이터를 A 컴포넌트와 B 컴포넌트에서 사용하고 있다고 가정해 보죠.

만약 A 컴포넌트에서 abc 데이터를 최신으로 수정했다면, B 컴포넌트에서 그에 맞게 반응(화면 갱신)이 있어야 하지만, 스토리지에 저장된 데이터는 관련 기능이 없습니다. 따라서 B 컴포넌트에서 출력되는 abc 데이터는 최신이 아닐 겁니다.

그런데 만약 abc 데이터를 스토어에 저장한다면, 기본적으로 반응성을 가질 수 있기 때문에, A 컴포넌트에서 abc 데이터를 수정했다면 바로 B 컴포넌트에서 반응해 출력됩니다.

Svelte 같은 프레임워크를 사용하는 아주 중요한 이유 중 하나가 반응성이기 때문에, 반응성이 필요한 데이터를 다룰 때는 스토어에 저장해야 합니다.

그렇다고 무조건 스토어가 좋은 건 아닙니다. 상황에 맞게 해당 저장소를 사용하는 것이 필요합니다.

굳.이. 구분하자면,

반응성이 필요한 데이터는 당연히 스토어에 저장,
반응성이 필요없고 수정 가능성이 없거나 낮은 데이터는 스토리지에 저장도 무방.

정도로 정리할 수 있을 듯합니다.

추가로 스토리지도 로컬 vs 세션으로 구분되니 따로 학습해 보시면 좋을 듯합니다.

아주 간단하게 정리하면 다음과 같습니다.

로컬 - 데이터 반영구저장
세션 - 브라우저(탭) 종료되면 데이터 없어짐

56강 4. 슬롯 포워딩이 Svelte 5 부터는 적용 불가

0

207

1

5 라이프사이클 모듈화 - 질문

0

285

1

소스코드

0

268

1

스벨트킷 강의는 안해주시나요?

0

334

1

강의 소스 코드

1

657

2

aws ec2 배포시 질문

1

883

2

vite 사용하는 예시 추가 계획은 없으실까요?

2

443

1

터미널에서 npx를 치실 때 흐린색으로 가이드처럼 나오는건 어떻게 해야 하나요?

1

379

1

textarea에서 esc 키를 누를 때 오류

1

334

1

스벨트 반응성에 대해 질문드립니다!

1

470

1

백엔드는 어떻게 배우면 좋을까요?

1

305

1

scss를 사용하기 위한 sveltePreprocess() 실행 위치가?

1

393

1

보간한다는 뜻을 무슨 의미로 이해해야 하나요?

1

6126

2

[0:15] Vuejs 인라인 핸들러 비권장 설명

1

304

1

로그인 정보를 확인할 때

1

250

1

재렌더링 때 interval 처리 질문

1

287

1

7:10초 설명에 질문 있습니다.

1

268

1

:global() 에서 & 적용이 안되는거 같아요

2

298

1

promise 변수에 초기값 관련 질문입니다.

1

383

2

혹시 vue 처럼 classObject 객체를 통해 제어하는 방법은 없을까요?

1

232

1

onMount 응용해서 적용해보려고 하는데 오류가 나네요.

1

340

1

패키지 설치 시 퍼미션 에러

1

295

1

node-sass 설치 오류

1

2055

2

Uncaught (in promise) TypeError 오류 질문

1

1182

2