june-30.md
July 4, 2016 · View on GitHub
June 30 (discuss)
Attendees
- Ben (React)
- Dan (React)
- Jim (React)
- Keyan (React, intern)
- Paul (React)
- Sebastian (React)
- Tom (React)
Fiber Demo
- If you missed what Fiber is, look here.
- Not very exciting.. but it can render a
<div>! - Basically this is all that Sebastian showed us so far.
- You can find the demo here but you’d need to compile React DOM to point to the fiber version.
Update on createClass → ES classes
- We are moving towards not using
createClassin the internal Facebook components. - Keyan is working on an open source codemod to automate the transition.
- The codemod converts
createClasscalls to ES classes with experimental property initializers proposal and Flow. - We don’t officially recommend this yet because the proposal has not advanced yet but we want to dogfood it internally.
- There are more things to figure out with Flow (e.g. we might need to annotate state properties).
- Dan ran the codemod that removes one very common mixin we had, so now we have more convertible classes.
- It is essential that we add some version of
PureComponentto React because a lot of components usePureRenderMixin.
React.PureComponent
#### Naming
- We’ve been assuming we’d call it
React.PureComponent. - However “pure” really means something different in computer science.
- What we try to express is that component
propsare immutable so the output is safe to memoize. - Other suggestions:
MemoizedComponent,MemoizableComponent. - It’s hard to spell!
- We don’t want people to use it everywhere so more complicated name might be fine.
- We can bikeshed on this forever.
Heuristics
- It seems that proposed heuristic generated a lot of confusion and potential issues.
- We can drop the heuristic from the proposal and just get the class in. Then decide later.
Splitting Addons
- After the internal
createClassdeprecation, can we drop the addons? - We haven’t been maintaining
ReactTransitionGroupand other addons well. - We should transfer ownership to folks that are actually relying on them.
- Almost everything can be decoupled except
PerfandTestUtils. - This should happen before flat bundling.
- Should we move
React.createFragmentinto React?- No, this was an upgrade path, shouldn’t need to use it anymore.
- It could have been the way you specify render methods without a single return value but we didn’t implement this.
- Paul and Dan will come up with a plan for each addon.
React Hot Loader 3
- It is popular in the community but the last stable version doesn’t work with functional components.
- There is a new version that solves these problems but it isn’t quite stable yet.
- Dan will take a week to fix a few issues and release a stable version with docs.
Releasing 15.2.0
- Paul planned to release today.
- Dan noticed it would be better to deduplicate the new DOM unknown attribute warning.
- We will let the community fix it and then cut 15.2.0.
- Jim wrote about the reasons and the strategies for fixing this warning in the related gist.
- Some useful discussions about this change: erikras/redux-form#1249, Hacker0x01/react-datepicker#517.
- We won’t do a blog post about this release (and about most patch and minor releases in general).
- Instead, you can find changes in the changelog.
Please feel free to discuss these notes in the corresponding pull request.