|
| 1 | +## June 30 ([discuss](https://github.com/reactjs/core-notes/pull/22)) |
| 2 | + |
| 3 | +### Attendees |
| 4 | + |
| 5 | +* [Ben](https://twitter.com/soprano) (React) |
| 6 | +* [Dan](https://twitter.com/dan_abramov) (React) |
| 7 | +* [Jim](http://github.com/jimfb) (React) |
| 8 | +* [Keyan](https://twitter.com/keyanzhang) (React, intern) |
| 9 | +* [Paul](https://twitter.com/zpao) (React) |
| 10 | +* [Sebastian](https://twitter.com/sebmarkbage) (React) |
| 11 | +* [Tom](https://twitter.com/tomocchino) (React) |
| 12 | + |
| 13 | +### Fiber Demo |
| 14 | + |
| 15 | +* If you missed what Fiber is, [look here](https://github.com/reactjs/core-notes/blob/master/2016-06/june-23.md#update-on-fiber). |
| 16 | +* Not very exciting.. but it can render a `<div>`! |
| 17 | +* Basically this is all that [Sebastian](https://twitter.com/sebmarkbage) showed us so far. |
| 18 | +* You can find the demo [here](https://github.com/facebook/react/blob/24dfb56113a214d98f29f69e2c26f67d7e947067/examples/fiber/index.html) but you’d need to compile React DOM to point to the [fiber version](https://github.com/facebook/react/blob/24dfb56113a214d98f29f69e2c26f67d7e947067/src/renderers/dom/fiber/ReactDOMFiber.js). |
| 19 | + |
| 20 | +### Update on `createClass` → ES classes |
| 21 | + |
| 22 | +* We are moving towards not using `createClass` in the internal Facebook components. |
| 23 | +* [Keyan](https://twitter.com/keyanzhang) is working on an open source [codemod](https://github.com/reactjs/react-codemod/pull/54) to automate the transition. |
| 24 | +* The codemod converts `createClass` calls to ES classes with experimental [property initializers](https://github.com/jeffmo/es-class-fields-and-static-properties) proposal and Flow. |
| 25 | +* We *don’t* officially recommend this yet because the proposal has not advanced yet but we want to dogfood it internally. |
| 26 | +* There are more things to figure out with Flow (e.g. we might need to annotate state properties). |
| 27 | +* [Dan](https://twitter.com/dan_abramov) ran the codemod that removes one very common mixin we had, so now we have more convertible classes. |
| 28 | +* It is essential that we add some version of [`PureComponent`](https://github.com/facebook/react/pull/6914) to React because a lot of components use `PureRenderMixin`. |
| 29 | + |
| 30 | +### `React.PureComponent` |
| 31 | + |
| 32 | +#### Naming |
| 33 | + |
| 34 | +* We’ve been assuming we’d call it `React.PureComponent`. |
| 35 | +* However “pure” really means something different in computer science. |
| 36 | +* What we try to express is that component `props` are immutable so the output is safe to memoize. |
| 37 | +* Other suggestions: `MemoizedComponent`, `MemoizableComponent`. |
| 38 | +* It’s hard to spell! |
| 39 | +* We *don’t* want people to use it everywhere so more complicated name might be fine. |
| 40 | +* We can bikeshed on this forever. |
| 41 | + |
| 42 | +#### Heuristics |
| 43 | + |
| 44 | +* It seems that [proposed heuristic generated a lot of confusion](https://github.com/facebook/react/pull/6914) and [potential issues](https://github.com/facebook/react/pull/6914#issuecomment-229574637). |
| 45 | +* We can drop the heuristic from the proposal and just get the class in. Then decide later. |
| 46 | + |
| 47 | +### Splitting [Addons](https://facebook.github.io/react/docs/addons.html) |
| 48 | + |
| 49 | +* After the internal `createClass` deprecation, can we drop the addons? |
| 50 | +* We [haven’t](https://github.com/facebook/react/pulls?q=is%3Apr+reacttransitiongroup+is%3Aclosed) been maintaining `ReactTransitionGroup` and other addons well. |
| 51 | +* We should transfer ownership to folks that are actually relying on them. |
| 52 | +* Almost everything can be decoupled except `Perf` and `TestUtils`. |
| 53 | +* This should happen before [flat bundling](https://github.com/facebook/react/issues/6351). |
| 54 | +* Should we move `React.createFragment` into React? |
| 55 | + - No, this was an upgrade path, shouldn’t need to use it anymore. |
| 56 | + - It could have been the way you specify render methods without a single return value but we didn’t implement this. |
| 57 | +* [Paul](https://twitter.com/zpao) and [Dan](https://twitter.com/dan_abramov) will come up with a plan for each addon. |
| 58 | + |
| 59 | +### React Hot Loader 3 |
| 60 | + |
| 61 | +* It is popular in the community but the last stable version doesn’t work with functional components. |
| 62 | +* There is a new version that solves these problems but it isn’t quite stable yet. |
| 63 | +* [Dan](https://twitter.com/dan_abramov) will take a week to fix a few issues and release a stable version with docs. |
| 64 | + |
| 65 | +### Releasing 15.2.0 |
| 66 | + |
| 67 | +* [Paul](https://twitter.com/zpao) planned to release today. |
| 68 | +* [Dan](https://twitter.com/dan_abramov) noticed it would be better to [deduplicate](https://github.com/facebook/react/issues/7152) the new DOM unknown attribute warning. |
| 69 | +* We will let the community fix it and then cut 15.2.0. |
| 70 | +* [Jim](http://github.com/jimfb) wrote about the reasons and the strategies for fixing this warning [in the related gist](https://gist.github.com/jimfb/d99e0678e9da715ccf6454961ef04d1b). |
| 71 | +* Some useful discussions about this change: [erikras/redux-form#1249](https://github.com/erikras/redux-form/issues/1249), [Hacker0x01/react-datepicker#517](https://github.com/Hacker0x01/react-datepicker/issues/517). |
| 72 | +* We won’t do a blog post about this release (and about most patch and minor releases in general). |
| 73 | +* Instead, you can find changes in the [changelog](https://github.com/facebook/react/blob/master/CHANGELOG.md#1520-july-1-2016). |
| 74 | + |
| 75 | +------------ |
| 76 | + |
| 77 | +Please feel free to discuss these notes in the [corresponding pull request](https://github.com/reactjs/core-notes/pull/22). |
0 commit comments