---
title: "Comment by Tarun Sharma on \"SEO for a React SPA without Next.js, and without giving up the 3D homepage\" | Hashnode"
description: "The third argument of useSyncExternalStore as the server snapshot is a neat way to avoid pulling in a router for the prerender. One thing to double check is hyd"
url: "https://hashnode.com/posts/seo-for-a-react-spa-without-next-js-and-without-giving-up-the-3d-homepage/6aed656b2bd71b0c43af1e1e/comment/6af47b97852156dd7695a854"
---

[Discussion](https://hashnode.com/posts/seo-for-a-react-spa-without-next-js-and-without-giving-up-the-3d-homepage/6aed656b2bd71b0c43af1e1e)

Comment [SEO for a React SPA without Next.js, and without giving up the 3D homepage](https://hashnode.com/posts/seo-for-a-react-spa-without-next-js-and-without-giving-up-the-3d-homepage/6aed656b2bd71b0c43af1e1e)

[Tarun Sharma](https://hashnode.com/@101beardo)

[4h ago](https://hashnode.com/posts/seo-for-a-react-spa-without-next-js-and-without-giving-up-the-3d-homepage/6aed656b2bd71b0c43af1e1e/comment/6af47b97852156dd7695a854)

The third argument of useSyncExternalStore as the server snapshot is a neat way to avoid pulling in a router for the prerender. One thing to double check is hydration: since that snapshot is also used while hydrating, the client should only hydrate the prerendered /classic markup, and mount the 3D route with a plain createRoot because its root is empty. Otherwise a hard load on another path can briefly render the Classic view first.
