ike81818
@ike81818

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

stateの初期値をランダムに設定すると、リロード時にエラーが出ます

解決したいこと

検索サイトの検索キーワードの初期値を、いくつかの候補からランダムに設定するようにしています。
初回ロード時には、問題なく表示されるのですが、
リロードすると、下記のようなエラーが発生します。

追記
この問題は、ローカル環境でのみ発生することがわかりました。
Netlifyにデプロイした本番環境においては、リロードしてもエラーは発生しませんでした。

スクリーンショット 2022-07-07 18.33.42.png
スクリーンショット 2022-07-07 18.34.23.png
スクリーンショット 2022-07-07 18.34.15.png

###コード

index.js
export default function Home() {
  const defaultKeyword = ["", "", "", "", "", ""];
  // const defaultKeyword = ["犬"];
  const randomKeyword =
    defaultKeyword[Math.floor(Math.random() * defaultKeyword.length)];

  const [keyword, setKeyword] = useState(randomKeyword); //指定キーワード

初期値を1つに絞ってみると、エラーは発生しません。

このエラーがどのような原因で発生しているのかや、ローカル環境においても回避する方法がわかる方がいらっしゃいましたら、教えていただけないでしょうか?

0

1Answer

Comments

  1. @ike81818

    Questioner

    下記のように、検索キーワードを表示している部分のタグにsuppressHydrationWarningを
    <div suppressHydrationWarning className={styles.keyword}>
    検索キーワード:{keyword}
    </div>
    のようにしたらエラーが消えました。
    ありがとうございます。

Your answer might help someone💌