Skip to content
This repository has been archived by the owner on Jul 19, 2019. It is now read-only.

Latest commit

 

History

History
42 lines (24 loc) · 2.87 KB

december-01.md

File metadata and controls

42 lines (24 loc) · 2.87 KB

December 1 (discuss)

Attendees

Individual Updates

Andrew

  • Finished a very long PR with new error boundary semantics for Fiber. If there is an error, the error boundary renders null first. After reconciliation is complete, the error boundary gets an unstable_handleError(error) call and has a chance to setState() there to render the error message. If there are no boundaries and the error is unhandled, the whole tree gets unmounted (which prevents data corruption via broken UI). We might consider keeping the UI in some form in the future (for example, with visibility: hidden) but for now unmounting is easier. The next step will be to get rid of nested try / catches in the scheduler to avoid performance issues. (#8304)

Ben

  • Switched Facebook to use Fiber by default for the React team. It kinda works! Nobody else sees it in production but we can start dogfooding it and add FB-specific issues to the umbrella task so that we can fix them before dogfooding Fiber in other teams. 🎉

Dan

  • Added ReactDOM.unstable_createPortal(domNode) to replace ReactDOM.unstable_renderContainerToSubtree() in Fiber. The old API isn’t going away yet but will be phased out after Fiber is released. (#8386)
  • Added support for iterables (e.g. Immutable lists) to Fiber and refactored existing tests to test the public API instead of internal helpers. (#8446)
  • Added some tests for error boundaries and uncaught errors to prevent regressions. (#8462)
  • Working on adding support for SVG to Fiber. (#8417, #8475)

Sebastian

  • Currently at the TC39 meeting.

Fiber Kinda Works

This is fully rendered with Fiber:

Fiber recording

Note: Only the React team members are currently opted into using Fiber at Facebook. We need to dogfood it for a while and find most bugs before we can start officially integrating it into the products. Only then can we start thinking about an official release, as many things are still missing.


Please feel free to discuss these notes in the corresponding pull request.