feat: Add NextJS app router support #3074
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #2822
Motivation
Support NextJS App Router. This is a much better developer experience, and also allows for SSR based on dynamic routing, which means NextJS is finally usable for SSR use cases and not just SSG.
Solution
Add DataProvider export to /nextjs namespace.
This provides 'App Router' compatibility. Simply add it to the root layout, ensuring
children
is rendered as a descendent.app/layout.tsx
Any endpoints can be used in server components by simply awaiting them
Or used in client components - meaning their state can be mutated client-side with
useSuspense()
Additionally
Next steps
@data-client/react
package so additional packages are no longer needed.