henkaku-center / henkaku-nengajo-frontend

https://nengajo.henkaku.org/
8 stars 14 forks source link

Warning: Maximum update depth exceeded. #72

Closed yu23ki14 closed 1 year ago

yu23ki14 commented 1 year ago

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

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.
imaichiyyy commented 1 year ago

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

yu23ki14 commented 1 year ago

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

yu23ki14 commented 1 year ago

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

imaichiyyy commented 1 year ago

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

yu23ki14 commented 1 year ago

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

imaichiyyy commented 1 year ago

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