Closed5

code reading of API handling in bulletproof-react

habakanhabakan

各処理のファイル管理

ユーザーページの場合は@features/usersにユーザーページに関する処理が全て管理されている

  • ルーティング:@features/users/routes
  • コンポーネント:@features/users/components
  • API処理:@features/users/api
habakanhabakan

APIリクエストまでのパイプラインの確認

  1. @routes/protectedより、usersがルーティング
  2. @features/users/routes/Userにてルーティング後のコンポーネントUserLiset呼び出し
  3. @features/users/components/UserListが呼び出され、その中でuseUsers()が処理
  4. @features/users/api/getUesrs.tsにてuseQuery内でgetUserが呼ばれている
  5. UserList内のDeleteUserも同様に、useDeteleUserが呼ばれReact Queryを利用している
habakanhabakan

レスポンスに対するState管理方法

React Queryでfetchなどもキャッシュを含めて管理し、useMutationでstate変更も処理している

habakanhabakan

エラーハンドリング

getUesrに関してはエラー処理をしている部分は特に見当たらない。
ただ、useUserからreact-queryにconfigを渡せるようになっていたのでそれを利用することになると思う。
deleteUserではuseMutationのonErrorで実装し、zustandで管理されたNotification Storeに格納している。
Notificationは@components/Notification内でエラーメッセージがコンポーネントとして実装されている。
Notificationコンポーネントは@provider/app内のプロバイダーで呼び出されている

このスクラップは2022/06/19にクローズされました