Repository navigation
Will Preact stay API compatible with React 16? #432
Description
Activity
Hi there! All good questions. Preact-compat has to account for all of these changes, but some of them will remain in compat and not in core. Here's a list:
- Returning Arrays from render(): yes, but this is a huge change for Preact itself. It will come, but it will take time.
- Numbers & strings: this has always been supported in Preact.
- Portals: I like the idea, but there are things like event bubbling redirection that might be unworkable within preact. We'll probably have to patch them into compat. On a personal note, I don't think the event propagation redirection piece of this holds enough value for Preact to adopt it and deviate from using browser events directly.
- Async scheduling: this will absolutely be coming to Preact itself, and we'll ship a decent scheduler enabled by-default in preact-compat once it's available.
Reacted by Denis Koltsov, —, Jonatan E. Salas, Jason Wong, Conor Dockry, Maik Marschner, Pierre VDEV, Daniel Almaguer, Yavorski, Iurii Orlov and 31 more- Reacted by Jack Hanford, Boris Berman, Patrik Henningsson, Theodore Vorillas, Rikki Schulte, Jason Miller, amyvbenson, codekult, Abiola, Vinicius de Sousa Camargo and 13 moreReacted by Steve Fan, Asad Sahi and zero
Waiting for hydrate since this is a breaking change for aliasing with Next.js
Reacted by Pranjal Singh and Alex ParishReturning Arrays from render(): yes, but this is a huge change for Preact itself. It will come, but it will take time.
Is there an issue to follow for that? #406 is closed. I don't know if it's appropriate to reopen that one or start with a new one: is there definitely agreement that it's for Preact rather than for Preact-compat?
@effulgentsia I think most people want Array returns in preact itself, but it's also quite possible doing so would necessitate a rewrite of the diff. In terms of ongoing discussion, @tkh44 was working some magic in #703.
@developit Watching this closely as Next.js is strictly packed with React 16. Is there any chance to help you out with missing API changes?
Reacted by Bertrand Marron, Waliur Rahman and Jason MillerYes! Jump on slack and we can work out what to do.
Reacted by Bertrand Marron and Ghufron FikriantoDoes anyone have a rough timeline for React 16 compatibility? Particularly interested in support for the
hydratefunction.Reacted by Aleksey Kulikov, Ray, Arata Osamu, kevin-tran, Jason Miller, Nupur Kapoor, Arthur Yidi, Kai Davenport, Irene and Tuan Anh TranNote, we added all of those in Preact X 🎉 We even ship with a rough implementation fo
Suspensebut that is not ready for production yet 🎉Reacted by Alex Parish, Steven, —, Jason Miller and Alexander Pushkov
We usually alias to Preact in production because of the payload savings, but now that we moved to React 16 which was officially released yesterday, preact-compat is down (for instance when returning arrays). That raises questions as to how far we can go with Fiber anyway, even if preact-compat can patch some minor things. But will it support returning arrays, numbers and strings as results, portals, and eventually async scheduling?