-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
React 상태 관리 — Zustand 사용하기 #50
Conversation
왜 Zustand를 선택해야 할까요? | ||
|
||
- Zustand는 context보다 빠릅니다. 특정 상태를 선택할 수 있는 옵션을 제공합니다. | ||
- 상태 병합이 기본적으로 지원됩니다. 객체 상태 `{x:1, y:2}`의 단일 속성을 업데이트한다고 가정해봅시다. `{y:3}`으로 직접 설정할 수 있습니다. Zustand는 데이터를 자동으로 병합해 줍니다. 기존 상태를 분배하고 `{…state, y:3}`처럼 속성을 업데이트할 필요가 없습니다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wow 😮
|
||
2. **Persist Middleware** | ||
|
||
**Persist** 미들웨어를 사용하면 모든 종류의 클라이언트 저장소를 사용하여 상태를 지속시킬 수 있습니다. 애플리케이션을 새로고침해도 store의 데이터가 저장소에 남아 있습니다. 이 미들웨어를 추가하는 코드는 아래를 참조하세요. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
😳 이게 어떻게 가능한 거죠?
export default useBookStore; | ||
``` | ||
|
||
**persist**를 **zustand/middleware**에서 가져옵니다. 그런 다음 **create** 메서드 내에서 store를 **persist**로 래핑합니다. 저장소의 항목은 고유한 이름을 가질 수 있습니다. 또한 저장소의 종류를 지정할 수 있습니다. 이 코드에서는 **sessionStorage**가 참조됩니다. 아무것도 지정하지 않으면 기본값으로 **localStorage**가 사용됩니다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아하, 세션/로컬 스토리지에 간편하게 저장할 수 있게 만들어주는 미들웨어군요. 이런 좋은 미들웨어가..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
안녕하세요 소하~ 리뷰가 늦어져 죄송합니다.
zustand 경험이 한 번도 없는데 이건 뭐 신세계네요..😳
리덕스와 같이 action - store 개념을 사용하면서도 보일러플레이트는 훨씬 적어 우수한 DX에, 매우 유용한 미들웨어까지.. 안 쓸 이유가 없는데요?
덕분에 좋은 정보 알아갑니다. 고칠 부분은 보이지 않아서 approve 드려요!
저희 팀 프로젝트는 그동안 상태관리 라이브러리를 사용하지 않았는데요.
이번에 상태를 관리하는 것에 불편함과 문제를 많이 느껴서 드디어 상태 관리 라이브러리를 도입하기로 했습니다.
많은 상태 관리 라이브러리중 zutstand를 사용하기로 하여, 어떤 것인지 찾아봤습니다!
다른 분들에게는 해당 아티클이 큰 도움은 안 될 것 같지만.. 그냥 흥미로 가볍게 읽어주세요~
편하게 읽기