Hi everyone, I'm new to rum. I've set up a new project with shadow-cljs and npm dependencies on react (v18). It's giving me this warning in the browser console: Warning: ReactDOM.render is no longer supported in React 18. Use createRoot instead. Until you switch to the new API, your app will behave as if it's running React 17. Learn more: .
Is there some implicit dependency on react v17 (or 16)? If not, is there some reason why rum is not updated for newer react?
Rum is using old class-based components and the old render method of React. I think that Rum's model with mixins and lifecycle methods doesn't fit with hooks (or will require a lot of reworking), and you won't get many benefits of modern React if you don't utilize hooks. If you're looking for a modern React wrapper look into UiX2 or Helix. Especially, if you want to utilize some 3rd party react components.
What he said 👆
That sounds a lot like “don’t start a new rum project”. Am I reading this right?
Well if what Rum does fits you it’ll work very well. If you want new React and hooks, it won’t
There are no plans to support these at the moment
Ok fair enough. React 17 is not going anywhere, I guess. Thank you
I don't quite understand the comments about hooks. Hooks were introduced prior to React 18, and Rum currently supports a pretty expansive set of React hooks e.g. use-state, use-ref, etc.
We're using plenty of hooks in our Rum app
Oh, maybe Roman has added these? I haven’t been following neither React nor Rum for a few years