ReactFoo 2019

ReactFoo 2019

A gathering of over 250 web and mobile developers working with React



Tanay Pratap


How we broke React and understood Fiber!

Submitted Feb 11, 2019

We were trying to push the boundaries of web performance with React in Microsoft Teams when we were left with no choice but to get into React’s souce code. What came out was an appreciation of the React’s new Fiber architecture and this talk. This will get into the story of how a bug in React made us all understand Fiber better and in turn advance our Javascript performance knowledge. This isn’t a walk through of the souce code, rather an easy going explanation of one of the biggest rewrites in our beloved library and how those learnings can be applied anywhere, even outside React ecosystem.


Starts with a story of what we were trying to do with React in Microsoft.
The issue which was filed and Dan acknowledging it after some explanation.
This led to digging deeper in React and thus, Fiber.
Let’s see what is Fiber and how it is the biggest change since React(sorry Hooks but you are about writing code, THIS IS performance!)
What’s the idea of Fiber: the idea of one unit of work
How requestIdleCallback made all of this possible?
What happens if your browser doesn’t support requestIdleCallback?
Demo time: This simplifies the code logic to make the attendees understand and appreciate the ingenuity of React team.
Walk through of the demo code.
Also, this performance hack can be used by any of us, once it hits you, aha!
Closing remarks on Fiber.
The changes and challenges beyond the simplified demo which are there in React’s source code.

Speaker bio

Tanay Pratap lives in Bangalore and works @Microsoft, he is building Teams which is touted as the next generation collaboration tool. He believes in sharing tech via story and thinks he has a gift to make tech easier to understand. This thought of his has been reinforced by reviews of students, professionals, attendees in his numerous talks/workshops/meetups.



{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hybrid access (members only)

Hosted by

A community - for and of - front-end engineers to share experiences with ReactJS, performant apps with React, crafting better User Interfaces (UI) with React and GraphQL ecosystem. ReactFoo also discusses design patterns and user experience. more