Tips
Gatsby.jsでビルド時にlocalStorageのエラーにはuseEffectを使う
Gatsby.jsでlocalStorageを使っているとビルド時にエラーが出る場合があります。
開発時にはエラーにならないので気づいにくいですがgatsby buildのコマンドを実行するとエラーになります。
どうすればエラーを回避できるかコードで紹介します。
コンポーネント読み込みの時にlocalStorageを使うとエラー
GatsbyのビルドでlocalStorageのエラーが出るのは下記のようなコードです。
1 2 3 4 5 6 7
const Sample = () => { const name = localStorage.getItem('name') return ( <div>Hello {name}</div> ) }
レンダリングするタイミングでlocalStorageを参照している場合はコードを変更する必要があります。
そのままビルドしてしまうと下記のようなエラーが発生します。