felipemotarocha / fullstackweek-store

https://fullstackweek-store.vercel.app
240 stars 80 forks source link

fix: error localStorage is not defined during build process #4

Closed ghost closed 11 months ago

ghost commented 11 months ago

localStorage is not defined

Durante o processo de build da aplicação, ocorre o erro abaixo, que impede o deploy de ser finalizado com sucesso

ReferenceError: localStorage is not defined
 at __WEBPACK_DEFAULT_EXPORT__ (/vercel/path0/.next/server/chunks/240.js:1:14186)

No momento da build ao gerar as páginas estáticas ocorre o erro pois o objeto localStorage ainda é undefined.

Correção:

No arquivo src/providers/cart.tsx:

Alterar o valor inicial do state products. Trocar de

const [products, setProducts] = useState<CartProduct[]>(
    JSON.parse(localStorage.getItem("@fsw-store/cart-products") || "[]")
  );

Para:

const [products, setProducts] = useState<CartProduct[]>([]);

Adicionar um useEffect com array de dependencias vazio, dessa forma só executará uma vez no carregamento da página:

useEffect(() => {
    setProducts(
      JSON.parse(localStorage.getItem("@fsw-store/cart-products") || "[]"),
    );
  }, []);

fix #3

vercel[bot] commented 11 months ago

Someone is attempting to deploy a commit to a Personal Account owned by @felipemotarocha on Vercel.

@felipemotarocha first needs to authorize it.

felipemotarocha commented 11 months ago

Boaa, obrigado pelo PR, meu mano!

vercel[bot] commented 11 months ago

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
fullstackweek-store ✅ Ready (Inspect) Visit Preview 💬 Add feedback Oct 23, 2023 4:11pm