Video yükleniyor...

Video Yüklenemedi

Ana Sayfaya Dön

❌ Avoid resolving a promise in a server component and block rendering. ✅ Resolve the promise in the client side with `Reac.use()`

47,187 görüntüleme • 1 yıl önce •via X (Twitter)

10 Yorum

George Moller profil fotoğrafı
George Moller1 yıl önce

I've been working professionally with React for more than 8 years and I compiled all my knowledge into 100+ infographics and 70+ video tutorials just like this one. Check them out ↓

React Universe Conf | Sept 2-4, 2025 profil fotoğrafı
React Universe Conf | Sept 2-4, 20251 yıl önce

React Universe is a constantly evolving ecosystem—driving curiosity and continuous learning. And that's what we love about it! 🙌 Join us at React Universe Conf 2025 to future-proof your dev team:

pavi2410 profil fotoğrafı
pavi24101 yıl önce

nextjs problems require nextjs solutions

Thibaud Dervily profil fotoğrafı
Thibaud Dervily1 yıl önce

I think this can impact SEO, am I wrong?

Ali Bey profil fotoğrafı
Ali Bey1 yıl önce

Doesn’t resolving a promise in RSC happen only at buildtime? So it will not block the rendering in this case.

Alfon profil fotoğrafı
Alfon1 yıl önce

typo, React.use()

Nicholas Ly profil fotoğrafı
Nicholas Ly1 yıl önce

Can't you just make `User` a server component and do the fetch there? You can still wrap `User` with Suspense and it'll function the exact same—no need for `React.use()`.

Josh profil fotoğrafı
Josh1 yıl önce

Why have the server component in this scenario? It seems entirely redundant

Javed profil fotoğrafı
Javed1 yıl önce

Why passing to the client when you can still make the fetch call on server and at the same time use suspense with it Just need to create a wrapper around the client components

Debo.dev profil fotoğrafı
Debo.dev1 yıl önce

How does this affect security?

Benzer Videolar

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 görüntüleme • 2 yıl önce