Загрузка видео...

Не удалось загрузить видео

На главную

React visually explained: 'use client'

746,659 просмотров • 1 год назад •via X (Twitter)

Комментарии: 11

Фото профиля Delba
Delba1 год назад

HQ:

Фото профиля Daniel Kanem
Daniel Kanem1 год назад

As a Remotion animator myself, I know the amount of work you may have put into this, Delba! Huge work, also stunning visuals! Congrats!

Фото профиля Delba
Delba1 год назад

🤝 Thanks Daniel!

Фото профиля Hamed Bahram
Hamed Bahram1 год назад

Excellent work, Delba! This is by far the best explanation of React server-client architecture I’ve seen. Even better than the docs.

Фото профиля Delba
Delba1 год назад

Appreciate it Hamed. We're getting there.

Фото профиля nstlgy
nstlgy1 год назад

The algorithm seems to have picked up upon your content, i got suggested your content for the first time, and on both youtube as well as twitter

Фото профиля Delba
Delba1 год назад

@sunphooldev 🤩

Фото профиля Cristian
Cristian1 год назад

Nice explanation, great animations! This paradigm, though, is so confusing and prone to bugs and security issues... I still prefer to have the client-side and server-side code separated, and have a clearly defined API connecting them.

Фото профиля Delba
Delba1 год назад

Thank you, I appreciate it. Time will tell 😊

Фото профиля Daniel Griesser
Daniel Griesser1 год назад

The content and visualizations in these videos are really 10/10 👏 Must be a lot of work to get them to this level of polish.

Фото профиля Delba
Delba1 год назад

Thanks Daniel 😊

Похожие видео

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 лет назад