Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(deps): update to React 19 #393

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

crgwbr
Copy link
Contributor

@crgwbr crgwbr commented Dec 19, 2024

No description provided.

Comment on lines +10 to +13
],
"overrides": {
"react": "^19.0.0"
}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is needed since react-helmet-async doesn't officially support React 19 yet. But it seems to work fine. I'm a little concerned that it's a dead project, but I'll probably submit a MR to it anyway.

See staylor/react-helmet-async#239

@silviogutierrez
Copy link
Owner

@crgwbr : I love this, obviously, and want to move to React 19. But this is... pretty bold. Lot of things still not supporting React 19. Though it may be like react-helmet-async and they actually do just work fine.

Once tests pass I'll give it a go with my main project.

@crgwbr
Copy link
Contributor Author

crgwbr commented Dec 19, 2024

@silviogutierrez What would you think of getting rid of the helmet dependency entirely, in lieu of React 19's new metadata tag support? It'd involve some refactoring of how renderPage() works, but I think it'd be possible.

See https://react.dev/blog/2024/12/05/react-19#support-for-metadata-tags

@silviogutierrez
Copy link
Owner

Not opposed at all, I just have no idea how the tags are injected in the server side part. Given the app shell is rendered outside of React.

When 19 came out I scoured the docs and can't find a single reference. And yet it says it "works".

@silviogutierrez
Copy link
Owner

For the life of me, I cannot find a single example of how meta tags are "hoisted" on the server render. renderToString and its friends all return a strong that then goes inside your non-react-code app shell.

And yet the docs mention this works with SSR.

@silviogutierrez
Copy link
Owner

Maybe we have to move to this: https://react.dev/reference/react-dom/server/renderToReadableStream

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants