useSearch
useSearchは、実装:最近の検索において、以下の機能を提供するReact hooksです。
検索を実行する。
検索を実行すると、直近の検索内容のリストが更新される。
直近の検索内容50件
インターフェース
code:useRecentSearch.ts
type TypeUseRecentSearch = () => {
}
実装
SWRを使おうか?
ここがはっきりしたら、インターフェースをどうするかも自然と決まる
SWRで検索履歴を管理する
検索と、直近の検索内容取得を別々に利用すると混乱が起こる
検索したら、直近の検索内容を更新するという処理は、隠蔽したい
直近の検索内容
取得したい情報
検索結果
検索用API問い合わせを行う
発生し得ること
データの取得に時間がかかる(検索中状態の存在)
データの取得に際してエラーが起こる(エラー状態の存在)
例
データベースにおけるエラー
通信上のエラー
→ 検索の実行は、SWR上で行ったほうが良さそう
useSearchExecute
直近の検索内容
検索用localStorageに保存する
検索内容保存にlocalStorageを採用する
Cookieへの風当たりの厳しさ
特にCookieを使う理由がない
フロントエンドアプリ内で参照できれば良いので、サーバーに送出する必要がない
検索用localStorageへの問い合わせ
データの取得に際してエラーが起こる可能性
→ 検索内容の保存・取得はSWR上で行ったほうが良さそう
useRecentSearchQuery