GithubHelp home page GithubHelp logo

nextjs-suspense's Introduction

nextjs-suspense

Run npm install, npm run dev, and then:

Test 1

  1. Hard reload page
  2. Note how the item detail suspends (loading appears)

Test 2

  1. Update the request delay in ./layout.jsx to match delay in ./item/[itemId]/page.jsx (500)
  2. Hard reload page
  3. Note loading doesn't appear

Summary

I'd like to be able to preload data higher up the tree to mimic Test 2 and avoid the spinnageddon that happens in Test 1, but in my real world version of this scenario the request depends on URL params for the nested page, and parent layouts cannot access these.

There was this proposal to use catch-all segments but that feels like I'd need to reimplement route handling for the nested routes and would likely become hard to maintain.

The other option is to remove loading.tsx altogether but now route transitions hang without feedback, and there doesn't appear to be an ergonomic way to hook into Link transitions in order to display a loading indicator of my own.

nextjs-suspense's People

Contributors

jjenzz avatar

Stargazers

Adrien KISSIE avatar

Watchers

 avatar

Forkers

fredkiss3

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.