React: Properties of Rx / Observable React-like Experiments

Created on 24 Jan 2015  路  2Comments  路  Source: facebook/react

This issue will be used to track some properties / features that are available in some experimental frameworks that build everything around Rx / Observable streams, but with liftable component boundaries.

I've identified a few that already overlap well with existing projects:

  • [ ] Error Propagation / Boundaries (Errors propagate up the hierarchy.) https://github.com/facebook/react/issues/2461
  • [ ] Completion Propagation (A signal to tell that a component will no longer change. Can be used for memory cleanup/collapsing, async server-side rendering, transition groups that clean up exit animations.)
  • [ ] "Prerendering" or "Lifting" Components (That then become opaque to their containers.)
    https://github.com/reactjs/react-future/tree/master/04%20-%20Layout
  • [ ] Async Reconciliation. (Any component can block the entire UI as waiting for data. Useful for server-side rendering or calling out to asynchronous, but fast APIs on the client, )

These features will probably be built in an optimized imperative style into the core but expose the same capabilities as if it was built as Observables.

It is a non-goal of this particular task to provide a similar API surface area to Observables but to track the capabilities exposed by such frameworks. It should be possible to experiment with alternative APIs that heavily rely on Observable semantics on top of these features.

Most helpful comment

I would also always keep in mind that "web components everywhere" might be a strong assumption in the near future. So some of these features might need to be rethinked if the current assumption is "React components" everywhere. For instance, Error Propagation and Completion Propagation might not be doable neither desirable if web components are black boxes that do their own thing. Just my 2 cents.

All 2 comments

I would also always keep in mind that "web components everywhere" might be a strong assumption in the near future. So some of these features might need to be rethinked if the current assumption is "React components" everywhere. For instance, Error Propagation and Completion Propagation might not be doable neither desirable if web components are black boxes that do their own thing. Just my 2 cents.

Seems like these thoughts influenced the new architecture, but we鈥檙e not currently actively thinking about these parallels. Closing.

Was this page helpful?
0 / 5 - 0 ratings