Open6

remixで[Hydration failed because the initial UI does not match what was rendered on the server.]が発生した

iwamasaiwamasa

発生条件

分かっている範囲で記載

  • remix: 2.12.1
  • react: 18.3.1
  • Google Chrome
    • 拡張機能をOFFにすると再現しない(シークレットウィンドウで発生しない)
    • LastPassのようなDOMを書き換える系の拡張機能で発生するっぽい
      • オフにしたら出なくなった

エラー内容

# 1つ目
Warning: Expected server HTML to contain a matching <meta> in <head>. Error Component Stack

# 2つ目
Uncaught Error: Hydration failed because the initial UI does not match what was rendered on the server.
iwamasaiwamasa

1つ分かったこと

どうやらremixが原因ではなく、ReactでのSSRが原因とのこと
(先ほど添付したサイトに書いてあった&Reactのバージョンアップで直りそうだった)

iwamasaiwamasa

英語の文献で分かったこと

以下のライブラリで解決する方法があるらしい。
ただ、React18.3以降で解決したらメンテしなくなると明記されている。
https://github.com/Xiphe/remix-island

これ入れるのちょっとなぁ〜という印象なので他の方法を模索したい