Open11

nextjsを学びながら脳死コードをリファクタリングする

ろーぜろーぜ

最初はgachaHomeページ。
やばすぎるので、まずはコンポーネント化してファイルを分ける。
ファイルを分けたのちにどういう構成にするかは後で考える。

ろーぜろーぜ

パッと見るだけでも以下が必要そうなのでまずはこれらに取り掛かる

  • 横スクロールでガチャを選ぶところをコンポーネント化
  • インデックスによってカラーコードを決定する関数は他でも使うから分ける
  • ごちゃ混ぜモードの部分をコンポーネント化する
  • ボタンもコンポーネント化
  • ガチャサムネイルの種類によって画像が微妙に違って大きさが異なるので修正したい

これは中間apiについて知見を深めてからの実装にしたいので保留だが、api部分も分けたい。

ろーぜろーぜ

横スクロールのコンポーネント化はできた。
ただ、色を決定する部分の機構が欠けていたけど、このtime_idによって色を決める関数はめちゃくちゃ使うので共通関数として切り出す。
共通関数はutilsというフォルダに入れるのが良さそう。

ろーぜろーぜ

てか今まで適当に全部tsxにしてたけど、

  • htmlを返す→tsx
  • 値を返す(メソッド)→ts

でよい

ろーぜろーぜ

nextに限った話じゃないけど1ファイル1関数が必須なのか?めちゃくちゃファイル多くならん?だがそれでいい!のか?

ろーぜろーぜ

なんか色々絡んでて一生参照するからそういうデータを作った方がいいことがわかった。グローバルで使うそれ系はconstantsに置くのがいいらしい