正在加载视频...

视频加载失败

This is a fully dynamic, server-rendered Next.js app router + headless Shopify storefront. Zero client / CDN page caches, fully personalized, feels as though it was local-first. Try it for yourself!

66,022 次观看 • 2 年前 •via X (Twitter)

9 条评论

Peter White 的头像
Peter White2 年前

@nextjs @Shopify Super fast - though optimistic UI for quantity increase in cart would be nice 👀

Guillermo Rauch 的头像
Guillermo Rauch2 年前

@nextjs @Shopify yessss. want. cc @leeerob

Jorge Vizcayno 的头像
Jorge Vizcayno2 年前

@nextjs @Shopify I'm sure if you convert the into a real Vercel Swag store instead of Acme products, you'd get both more insights on how to keep improving and some revenue from ver el powerusers

Baytaş 的头像
Baytaş2 年前

@nextjs @Shopify wen page transitions tho

Sukh Dugal 的头像
Sukh Dugal2 年前

@nextjs @Shopify If a demo store feels so slow and clunky, I can't imagine what a real store's UX feels like. Can someone without bias chime in — is running two web servers across locations to render a page not a bad idea?

Jacob 的头像
Jacob2 年前

@nextjs @Shopify Darn

Richard Poelderl 的头像
Richard Poelderl2 年前

@nextjs @Shopify It’s fast. But not local first fast.

Guillermo Rauch 的头像
Guillermo Rauch2 年前

@nextjs @Shopify how come? If it's the add to cart operation, that's on the todo. will get done

khavas 的头像
khavas2 年前

@nextjs @Shopify That's pretty cool!

相关视频

React tip: "use client" misconceptions (2/5) 🚫 "You cannot nest Server Components inside Client Components because "use client" turns everything into Client Components." ✅ We can pass the rendered result of Server Components to Client Components as props. Simple example: (Server Component) (Client Component) (Server Component) is designed for the client. It needs to instantly open and close when clicked. is designed for the server. It uses packages that don't work in the browser and needs to fetch data close to where it's stored without exposing credentials. So, how can we nest a component that uses server APIs inside a component that uses client APIs... without using `import`? React props to the rescue! --- (0:00) 1-4: Reminder: Importing code forms a module dependency graph. Adding dependencies to a server or client bundle. (0:23) 5-6: Reminder: Using components eventually forms a rendered component tree. (0:37) 9: Oh no! We get an error when trying to `import` a client API (useState) into a server module. (0:44) 10: We know the trick by now: Add "use client" to mark `2.js` as a client entry point. This moves the module to the client bundle and allows us to use client APIs like `useState.` (0:51) 11: But we get a new error! "use client" moved all imported dependencies into the client bundle, including our ORM package, which doesn't work in the browser. (0:59) 13: Let's refactor without changing our rendered component hierarchy. First, we move the `Cart` import to the parent file that imports `Modal`. This moves `Cart` outside the "use client" boundary and consequently the client bundle. (1:11) 15: Then, we pass down the rendered result of `Cart` as a prop to `Modal`. This allows `Cart` to be entirely rendered on the server as a Server Component before being passed down. `Modal` has no knowledge of what the `cart` prop is. Its only responsibility is placing whatever it receives into the `{cart}` slot. (1:15) 16: Finally, it's common to use the special `children` prop for a component's primary content. The key insight is that we were able to use props to retain our desired component hierarchy even though we changed our module dependency graph.

Delba

43,989 次观看 • 2 年前