henkaku-center/henkaku-nengajo-frontend

Warning: Maximum update depth exceeded.

Closed this issue · 6 comments

年賀状詳細ページに以下ワーニング
カウントダウンコンポーネント

next-dev.js?3515:20 Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.

@yu23ki14
すみません、こちら再現しないので再現手順とかあれば教えていただけるとです🙏
(一応心当たりある箇所を先に修正しておこうかなとは思います。)

再現手順はとくになく、年賀状詳細ページにいくとでます。

@imaichiyyy
おそらく、useEffectの中でuseEffectをつかっているからかなと。
/components/MintNengajo/index.tsx の86行目あたりで、useCountDownのなかでuseEffectを、その結果とれるisStartを別のuseEffectの中で使っているからだとおもいます。

@yu23ki14 @alecrem
こちらの作業を行ってる途中で気付いたのですが、mint可能になる時間の判定がクライアント依存のため、ユーザーのPCで時刻をいじった場合mintボタンが表示されてしまいます。
こちらのプルリクエストでいったん process.env.NODE_ENV が productionのときにmintボタンを非表示にする処理を行っています。
(こちらのちゃんとした対応は別issueを作成する予定です)

@imaichiyyy
仮にフロントエンドで破られてもメインネットではコントラクト側で制限かけてるので大丈夫ですよ!

@yu23ki14
承知です!
ではどこかで元に戻しておきます🙏
(公開前までには対応しなきゃと思いあせっちゃいました)