ShopOne / Shitforces

くそなぞなぞコンテストサイト
shitforces.vercel.app
MIT License
27 stars 13 forks source link

[frontend]ページング実装のリファクタリング #200

Closed no-yan closed 3 years ago

no-yan commented 3 years ago

close #163 ページングの実装をリファクタリングしました。ページを上位コンポーネントが持つことで、ソート時に1ページ目に移動するなど、ページ操作が簡単になります。

改修点

PagingElement

・呼び出す側がページ数の情報を持たせ、記述をシンプルにしました ・2度APIが呼び出される現象#199をなくしました ・reloadButtonは使用されておらず、更新機能はページングコンポーネントがもつべき機能ではないため削除しました

SubmissionTable

・ページ移動の際に再計算が起きないよう配列の持ち方を変えました ・early returnでhooksの呼び出し回数がレンダーごとに変わることを防ぐため、early return を後ろに置きました

types/index.ts

型定義を追加しました


RankingPageなどもよりシンプルな記述が可能になった気がしますが思いつかないので、アイディア募集中です。