process.browserでクラス名などのDOM操作(今回はダークモードの状態変更)をしようとしたところ、Hydrationエラーが。
Error: Hydration failed because the initial UI does not match what was rendered on the server.
状態管理をRecoilからuseStateに変更してもうまく動かず。でも原因は、process.browserにあったらしい。
useEffectに変更したらあっさり治った。
import { useEffect, useState } from 'react'
useEffect(() => {
//DOM操作
}, []);
けどuseEffectはimportを増やして関数作らなきゃいけないのが手間で、なおかつ"副作用"というのがなんとなく気持ち悪くてprocess.browserを使っていた。
でも、ちゃんとprocess.browserとuseEffectの違い理解しないといけないのかも。
