3 ms·
To de-throne React, React would have to stop de-throning itself. I do think the future of DOM based diffing is no longer going to use a Virtual DOM. Svelte has
by yazaddaruvala 3y ago
To de-throne React, React would have to stop de-throning itself.
I do think the future of DOM based diffing is no longer going to use a Virtual DOM. Svelte has shown the way. It just has to be moved into React (or a React successor).
I also think the future of Components is to use async/await more. Where each await point is assigned a fallback component e.g. <Loading /> or something.
React also needs to figure out Hooks a bit better, and see if there is a missing language feature that can be pushed to simplify that concept.
If something (including React) is able to do those three things, while also keeping/improving the React DX (markup and logic together, uni-directional dataflow, hook like annotations that can interoperate with each other), it'll likely de-throne React.
- leerob 3y agoHave you seen React Server Components? You mark a component as `async`, and then you `await` some Promise inside of the component to fetch data. The fallback points are declaratively defined through React Suspense. For example: <Suspense fallback={<LoadingSkeleton />}> <MyComponent /> </Suspense> Where your Server Component then looks as follows: async function MyComponent() { const data = await db.get('...') return ... } https://nextjs.org/docs/getting-started/react-essentials https://nextjs.org/docs/getting-started/react-essentials
- yazaddaruvala 3y agoYes, aware. Its cool, but the ergonomics feel very much the way I felt about Node.js with callbacks. There is a different type of delight that comes from the ergonomics on async/await. This is the big jump React Suspense also needs to make. I am not smart enough to suggest anything here tho. I just know the framework (including React) that can give me that async/await delight while using Suspense will dominate!