|
| 1 | +## May 26 ([discuss](https://github.com/reactjs/core-notes/pull/17)) |
| 2 | + |
| 3 | +### Attendees |
| 4 | + |
| 5 | +* [Ben](https://twitter.com/soprano) (React) |
| 6 | +* [Christopher](https://twitter.com/vjeux) (React Native) |
| 7 | +* [Dan](https://twitter.com/dan_abramov) (React) |
| 8 | +* [Jim](http://github.com/jimfb) (React) |
| 9 | +* [Keyan](https://twitter.com/keyanzhang) (React, intern) |
| 10 | +* [Paul](https://twitter.com/zpao) (React) |
| 11 | +* [Sebastian](https://twitter.com/sebmarkbage) (React) |
| 12 | +* [Shayne](https://github.com/shayne) (React Native) |
| 13 | +* [Tom](https://twitter.com/tomocchino) (React) |
| 14 | + |
| 15 | +### ES2016 Classes |
| 16 | + |
| 17 | +#### Class Property Initializers ([proposal](https://github.com/jeffmo/es-class-fields-and-static-properties)) |
| 18 | + |
| 19 | +* ES classes for React components don’t feel good without them. |
| 20 | +* We haven’t used them internally at Facebook enough to push externally. |
| 21 | +* For now, we’ll push for more internal adoption of ES classes. |
| 22 | +* We don’t want to hinder the proposal by pushing too hard for it now. |
| 23 | +* After the proposal is further along, we can update our internal code and start pushing externally. |
| 24 | + |
| 25 | +#### Documentation and Tutorial |
| 26 | + |
| 27 | +* We need to figure out how to make the docs reflect the fact that you can use either `createClass` or ES classes. |
| 28 | +* Proposal: the docs will continue to show `createClass` as the default, but will include a switcher to show examples using classes. |
| 29 | +* Eventually, we will flip the default. |
| 30 | +* In the tutorial we’ll start out introducing functional components (using function declarations). |
| 31 | +* [Dan](https://twitter.com/dan_abramov) and [Paul](https://twitter.com/zpao) will work on this. |
| 32 | + |
| 33 | +#### What About Mixins? |
| 34 | + |
| 35 | +* Technically you can use [this approach](https://www.npmjs.com/package/es6-react-mixins) for mixins with ES classes. |
| 36 | +* We won’t officially recommend it though because we think existing use cases for mixins have better solutions. |
| 37 | +* We’ll start by getting rid of mixins in the Facebook codebase. |
| 38 | +* Then we’ll write a page detailing how to get rid of different kinds of mixins. |
| 39 | + |
| 40 | +#### Higher Order Components ([article](https://medium.com/@dan_abramov/mixins-are-dead-long-live-higher-order-components-94a0d2f9e750)) |
| 41 | + |
| 42 | +* They solve some of the mixin use cases. |
| 43 | +* We should post about them in the official React blog and/or documentation. |
| 44 | +* They have their own problems, such as not proxying methods. |
| 45 | +* One solution would be to [allow forwarding callback refs](https://github.com/facebook/react/issues/4213). |
| 46 | +* Not clear if we want this, but it would make higher order components more convenient to use. |
| 47 | + |
| 48 | +### `ReactTestUtils` and Incremental Reconciler |
| 49 | + |
| 50 | +* [Incremental reconciler](https://github.com/facebook/react/issues/6170) is going to be asynchronous. |
| 51 | +* However `ReactTestUtils.renderIntoDocument()` is synchronous. |
| 52 | +* It is not entirely clear if test utils should emulate a simpler always-sync environment, or real world. |
| 53 | + |
| 54 | +### Error Codes |
| 55 | + |
| 56 | +* [Keyan](https://twitter.com/keyanzhang) continues work on the PRs that let people decode error messages: |
| 57 | + - [#6874](https://github.com/facebook/react/pull/6874) |
| 58 | + - [#6882](https://github.com/facebook/react/pull/6882) |
| 59 | + |
| 60 | +------------ |
| 61 | + |
| 62 | +Please feel free to discuss these notes in the [corresponding pull request](https://github.com/reactjs/core-notes/pull/17). |
0 commit comments