`@blocknote/react` doesn't work with React 19 RC
Describe the bug
@blocknote/react doesn't work with React 19 RC as it uses React internals
To Reproduce https://stackblitz.com/edit/github-ekywvq?file=package.json
Misc
- Node version: 20.16.0
- Package manager: bun
- Browser: Arc
- [ ] I'm a sponsor and would appreciate if you could look into this sooner than later 💖
Thanks @leonsilicon. I don't think this is because BlockNote uses internal APIs, but because we have a peerdependency:
"peerDependencies": {
"react": "^18",
"react-dom": "^18"
},
This will cause react 18 to be installed in node_modules/@blocknote/react/node_modules, causing two different react runtimes side by side.
I haven't tested upgrading this myself, but perhaps this pointer could work. I recommend checking and testing blocknote by checking out your own copy and upgrading the peer dependency and running the tests.
What are you building with BlockNote btw?
Ah, sorry I initially saw the error stacktrace point to a file in the @blocknote/react node_modules folder (dist/blocknote-react.js) and assumed it was Blocknote-specific code; upon a second look it seems like that's actually React 18's JSX Runtime library code react-jsx-runtime.(development|production).js bundled into Blocknote's distribution build.
I'm not sure how one would make that bundled jsx-runtime code compatible with both React 18 and 19 but in the meantime will try bumping the peerDependencies and rebuilding to see if that fixes the issue!
struggling with this currently and saw this. makes sense now. ill test out bumping the peerdeps
Thanks @leonsilicon. I don't think this is because BlockNote uses internal APIs, but because we have a peerdependency:
"peerDependencies": { "react": "^18", "react-dom": "^18" },This will cause react 18 to be installed in
node_modules/@blocknote/react/node_modules, causing two different react runtimes side by side.I haven't tested upgrading this myself, but perhaps this pointer could work. I recommend checking and testing blocknote by checking out your own copy and upgrading the peer dependency and running the tests.
What are you building with BlockNote btw?
struggling with this currently and saw this. makes sense now. ill test out bumping the peerdeps
Thanks @leonsilicon. I don't think this is because BlockNote uses internal APIs, but because we have a peerdependency:
"peerDependencies": { "react": "^18", "react-dom": "^18" },This will cause react 18 to be installed in
node_modules/@blocknote/react/node_modules, causing two different react runtimes side by side. I haven't tested upgrading this myself, but perhaps this pointer could work. I recommend checking and testing blocknote by checking out your own copy and upgrading the peer dependency and running the tests. What are you building with BlockNote btw?
update: I was unable to do a rebuild as I kept running into errors. i'm a noob when it comes to low-level library stuff. will just have to wait till blocknote supports react 19 when it comes out :)
Still facing the same issue, peerDependencies don't help at all.
Still facing the same issue, peerDependencies don't help at all.
Good news is there's a PR already for this 😁
A new PR? I don't see one open -- I'm still facing the same issue in the screenshot, after updating BlockNote and my app to Next.js 15
A new PR? I don't see one open -- I'm still facing the same issue in the screenshot, after updating BlockNote and my app to Next.js 15
PR #1173
@YousefED Thank you for working on this so quickly!