Skip to content
This repository has been archived by the owner on Dec 16, 2021. It is now read-only.

Will Preact stay API compatible with React 16? #432

Closed
drcmda opened this issue Sep 27, 2017 · 9 comments
Closed

Will Preact stay API compatible with React 16? #432

drcmda opened this issue Sep 27, 2017 · 9 comments

Comments

@drcmda
Copy link

drcmda commented Sep 27, 2017

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?

screen shot 2017-09-27 at 12 32 03

@developit
Copy link
Member

developit commented Sep 28, 2017

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.

@HillLiu
Copy link

HillLiu commented Oct 12, 2017

And hydrate

https://reactjs.org/docs/react-dom.html#hydrate

@vorillaz
Copy link

Waiting for hydrate since this is a breaking change for aliasing with Next.js

@effulgentsia
Copy link

Returning 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?

@developit
Copy link
Member

@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.

@vorillaz
Copy link

@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?

@developit
Copy link
Member

Yes! Jump on slack and we can work out what to do.

@alexparish
Copy link

Does anyone have a rough timeline for React 16 compatibility? Particularly interested in support for the hydrate function.

developit added a commit that referenced this issue Aug 6, 2018
They're basically the same (see #432)
developit added a commit that referenced this issue Dec 18, 2018
They're basically the same (see #432)
@marvinhagemeister
Copy link
Member

Note, we added all of those in Preact X 🎉 We even ship with a rough implementation fo Suspense but that is not ready for production yet 🎉

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

No branches or pull requests

7 participants