Coder Social home page Coder Social logo

what-is-rsc's Introduction

what is RSC

This repo is a copy of the code explained in this article from dan, and you can read the explaination and source code from the article. Making this copy just for self learning and make some notes

usage

To run this example:

  • npm install or yarn
  • npm run dev or yarn dev

short note

Considering RSC server and SSR server as two seperated server and maybe hosted on different machines, RSC server just serve JSX, and SSR server is managed to serve HTML or just forward JSX to client.

The initial load request from client sent to SSR server, and then SSR server send request to RSC server. RSC server handle request from SSR server and response with client JSX if everthing is fine. SSR server receive client JSX which only has client built-in HTML tag like a, div and so on, and render it as HTML string, along with some client script which will be used for subsequent navigation, sending to client.

init-load

If we want to preserve client loacl state, subsequent navigation like click a link should not behave like initial load. Because sending a totaly html page to client will lost local state. So the client script which sent to client at initial load will intercept brwoser default navigation behaviour, and overide with self-defined navigat function. SSR server will send react tree to client, and the client react is managed how to diff the tree and update UI.

subsequnt-navagate

reference

pictures and code from:

  1. RSC From Scratch. Part 1: Server Components

what-is-rsc's People

Contributors

sugarmouse avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.