Shawn Wang

Video Guides & Talks

First Look at React Server Components (
Dec 21, 2020
This video is an exhaustive 2hr walkthru (timestamps below) of every part of the React Server Components demo, including Postgres setup and bonus detours into the SECRET NEW HOOKS that they DON'T WANT US TO KNOW ABOUT.
    Concurrent React from Scratch (
    May 15, 2020
    In this talk, we’ll create an effective mental model of Concurrent React by building a tiny clone of React! We will start with a blank js file and learn about how React renders components, schedules Time-Slicing updates with a Work Loop, add Hooks, and end off with a mini-clone of Suspense!
    How to Add Monaco Editor to a Next.js app (
    Mar 30, 2020
    A quick tutorial on adding VS Code's Monaco Editor to a Next.js app.
    Getting Closure on React Hooks (
    Jul 01, 2019
    In this talk, we’ll reintroduce closures by building a tiny clone of React! This will serve two purposes – to demonstrate the effective use of closures, and to show how you can build a Hooks clone in just 29 lines of readable JS.
    Serverless GraphQL with Netlify Dev (
    May 21, 2019
    In this talk we explore how Serverless and GraphQL work together, explore ways to stitch individual function schemas, and get hard numbers to fight performance concerns.
    Why React Is *Not* Reactive (
    Aug 30, 2018
    In this talk we build a Reactive React to show the difference between the "push" and "pull" paradigms of data flow and understand why React chooses to manage Scheduling as a core Design Principle, enabling awesome features like async rendering and Suspense!
    Creating create-react-app (
    Jun 21, 2018
    We all use create-react-app but how much do we know about how it works internally? In this talk we discuss how I recently dived into the source code for create-react-app to make a fun clone! It looks intimidating but is really not, once you get a hang of how lerna monorepos work and try making one of your own. Watch this and then go make your own create-awesome-app!
    React Suspense (
    Jun 12, 2018
    React Suspense is one of the most highly anticipated API changes coming to the React world in 2018. It is one of the many new capabilities enabled by the React Fiber rewrite, and it focuses on solving core problems in async rendering that lead to tricky UI problems like cascading spinners.
    Never Bundle React Again (
    Feb 13, 2018
    One result of the runaway success of Webpack is the rise of multi-megabyte megabundles. Many of the React apps we write don’t make use of widespread platform improvements like CDNs, caching, and HTTP/2. But we could if we just knew how. In this lightning talk, I show you a quick trick to slash your React bundle sizes and improve your TTI.
    Contributing To React (
    Dec 15, 2017
    In this talk I walk through how I became a React contributor and give a basic overview on what you need to know to do it.

      Articles & Tutorials

      You May Not Need Controlled Form Components (
      Mar 10, 2020
      Using the Name attribute in React Forms.
      React Single File Components Are Here (
      Mar 10, 2020
      The launch of RedwoodJS today marks a first: it is the first time React components are being expressed in a single file format with explicit conventions.
      Mocking and Using CRUD APIs with MirageJS and React-Query (
      Feb 28, 2020
      Two recent releases have advanced the state of the art for mocking and using APIs in React apps. I think they pair very well and this post describes what they do and how to use them together. I don't have the space or time to go into the full features of each, which are the actual reasons they deliver great value - those are food for future posts.
        Concurrent React From Scratch (
        Oct 25, 2019
        In this talk, we’ll create an effective mental model of React Hooks by building a tiny clone of React! This will serve two purposes – to demonstrate the effective use of closures, and to show how you can build a Hooks clone in just 29 lines of readable JS.
        How to Build Authenticated Serverless JAMstack Apps with Gatsby and Netlify (
        Sep 11, 2019
        When interacting with a backend, a JAMstack app can do everything a mobile app can do, without the tyranny of the app store. This is a fundamental insight that goes as deep as the fight for a more open, secure, decoupled, faster web.
        The Case for the React Native Web Singularity (
        Aug 30, 2019
        Bottom line up front: There is a possible "React Native Web Singularity", when it starts being a better standalone choice for developing for the mobile web than react-dom. If this speculation comes true, this would be gamechanging.
        Deep dive: How do React hooks really work? (
        Mar 11, 2019
        In this article, we reintroduce closures by building a tiny clone of React Hooks. This will serve two purposes – to demonstrate the effective use of closures, and to show how you can build a Hooks clone in just 29 lines of readable JS. Finally, we arrive at how Custom Hooks naturally arise.
        Reusable Time Travel with React Hooks and Immer (
        Jan 30, 2019
        Learn how and why to make a useTimeTravel React hook that we can use to make Tolerant User Interfaces.
        Turning the Static Dynamic: Gatsby + Netlify Functions + Netlify Identity (
        Dec 26, 2018
        Today I’d like to show you how you can incrementally add functionality to a Gatsby static site with Netlify Functions, and then add authentication with Netlify Identity to begin a proper Gatsby app.

        Podcast Episodes

        The Suspense is Almost Over — A Pre-ReactConf Concurrent React Rundown with Swyx (
        Oct 22, 2019
        This week is React Conf! And I suspect that Suspense and Concurrent Mode will have a good showing. So — in anticipation and excitement — I asked friend of the show, Swyx, to join me for a Suspense/Concurrent React rundown episode — covering everything you need to know so far and what we hope to see at this year's event.
        Learning React and TypeScript in Public with Shawn "swyx" Wang (
        Aug 13, 2019
        Today’s guest Shawn Wang is a career changer starts off the show about how he got from finance to programming. The panel talks about how they each got started in programming. Shawn explains his Learn In Public manifesto. They discuss the benefits of learning in public and how concepts like Cunninham’s Law and lampshading can be a good thing.
        Be Wrong with Shawn Swyx Wang. On what's new in React, how best to learn, and what's going on in r/reactjs (
        Feb 21, 2019
        Sean Swyx Wang moderates and organizes r/reactjs on Reddit. He also works on developer experience at Netlify. Sean is a voracious learner and loves to share what he's learning and believes that everyone — regardless of experience — should "learn in public". Chantastic asks him about what's new in React and how r/reactjs is helping developers learn React, get connected in the community, and find jobs.

        Books & Guides

        Fresh Concurrent React (
        Oct 13, 2018
        Fresh links about the coming concurrent react revolution!