Skip to content

refactor: replace FavoritesContext with zustand store#43

Merged
MrSmart00 merged 1 commit into
mainfrom
feat/zustand-favorites-store-migration
Apr 14, 2026
Merged

refactor: replace FavoritesContext with zustand store#43
MrSmart00 merged 1 commit into
mainfrom
feat/zustand-favorites-store-migration

Conversation

@MrSmart00
Copy link
Copy Markdown
Owner

@MrSmart00 MrSmart00 commented Apr 14, 2026

Summary

  • お気に入り状態管理をReact Context + Providerパターンからzustandストアに移行
  • FavoritesProviderが不要になり、コンポーネントツリーがシンプルに

Changes

  • src/shared/stores/useFavoritesStore.ts — zustandストア新規作成(useFavoritesStore + useFavoritesフック)
  • src/shared/contexts/FavoritesContext.tsx — 削除
  • src/shared/index.ts — exportをストアに切り替え
  • app/_layout.tsxFavoritesProviderラッパーを削除
  • __tests__/shared/stores/useFavoritesStore.test.tsx — zustandストア用テスト(Provider不要に)
  • __tests__/shared/contexts/FavoritesContext.test.tsx — 削除
  • __tests__/detail/screens/DetailScreen.test.tsx — Providerラッパー削除
  • __tests__/favorites/screens/FavoritesScreen.test.tsx — 同上
  • __tests__/home/screens/HomeScreen.test.tsx — 同上
  • package.json — zustand v5.0.12 を追加

Test plan

  • pnpm test — 全33スイート / 187テスト通過
  • pnpm lint — エラーなし
  • pnpm typecheck — 型エラーなし
  • pnpm expo start で実機/シミュレータ動作確認

Related Issues

  • なし

React Context + Providerパターンからzustandに移行し、Provider不要でグローバル状態管理を簡潔にする。

Co-Authored-By: Claude <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

Coverage Report

Lines Statements Branches Functions
Coverage: 99%
98.56% (344/349) 90.07% (118/131) 99.04% (104/105)

Full Report

@MrSmart00 MrSmart00 merged commit d61e1e0 into main Apr 14, 2026
1 check passed
@MrSmart00 MrSmart00 deleted the feat/zustand-favorites-store-migration branch April 14, 2026 14:51
github-actions Bot added a commit that referenced this pull request Apr 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant