Commit Graph

6433 Commits

Author SHA1 Message Date
Ivan Vergiliev 85e01a1455 Add documentation about empty functional components 2016-04-06 01:29:59 +03:00
Paul O’Shannessy 622e84bcfe Merge pull request #6415 from sebmarkbage/typofix
Fix typo
2016-04-05 14:30:48 -07:00
Sebastian Markbage 2d069fc5e6 Fix typo
Resets currentTarget on the pooled event instead of adding an
expando.
2016-04-05 13:40:49 -07:00
Jim add9ccedd6 Merge pull request #6408 from facebook/gaearon-patch-2
Remove 15 RC1 changelog entry that was fixed in 0.14
2016-04-05 13:29:59 -07:00
Paul O’Shannessy d10b355b42 Merge pull request #6228 from everdimension/fix_option_value
set value property explicitly for "option" element even if value is empty
2016-04-05 13:27:13 -07:00
Dan Abramov 67ff7104a1 Remove another 0.14 changelog entry for 15 RC1 release notes 2016-04-05 01:32:38 +01:00
Dan Abramov b151e7fd3b Remove 15 RC1 changelog entry that was fixed in 0.14 2016-04-05 00:49:07 +01:00
Paul O’Shannessy 80bff5397b Merge pull request #6376 from zpao/object.assign
Use object-assign instead of our own dated "polyfill"
2016-04-04 10:21:39 -07:00
Paul O’Shannessy 1573baaee8 Use Object.assign directly and inject object-assign at compile 2016-04-04 09:53:25 -07:00
Paul O’Shannessy f7db143b41 Update authors for v15
* fix conor

* one fewer jonathan

* nakazye

* Third9 & translucens

* zjjw

* rebase on master to pick up recent changes

* rebase

* shogunsea

* couple names for mailmap

* iawia002

* rebase

* terry3, speedskater

* rebase, handle duplicate mark

* more
2016-04-04 09:46:23 -07:00
Dan Abramov b0d1e16271 Merge pull request #6405 from facebook/gaearon-patch-2
Clarify that ReactPerf.getLastMeasurements() is now opaque
2016-04-04 17:02:45 +01:00
Dan Abramov 30dc842e34 Clarify that ReactPerf.getLastMeasurements() is now opaque 2016-04-04 16:29:53 +01:00
Dan Abramov 14b19870fe Merge pull request #5731 from MatthewHerbst/docs-arrayof-custom-validator
Documentation for arrayOf custom item validator
2016-04-02 14:12:23 +01:00
Matthew Herbst 0c89da5b25 Added new documentation showing use of a custom validator for arrayOf or objectOf, specifically how the method signature for such a validator differs from the customProp validator method signature. Made minor edits to error message for customProp example to match error messages found in src. 2016-04-02 19:28:25 +08:00
Dan Abramov 44c699a465 Merge pull request #6399 from facebook/gaearon-flip-dev
Flip __DEV__ assignments in ReactDOMProduction-test
2016-04-02 01:25:11 +01:00
Dan Abramov ec1462834e Update ReactDOMProduction-test.js 2016-04-02 00:53:01 +01:00
Dan Abramov a5c164daca Merge pull request #6389 from gaearon/reactperf-reactdebuginstancemap
Add ReactDebugInstanceMap
2016-04-01 23:32:20 +01:00
Dan Abramov 599582c3b2 Merge pull request #6392 from facebook/gaearon-add-meeting-notes
Link to the meeting notes from Contributing
2016-04-01 18:32:52 +01:00
Dan Abramov 51bfe2d1f3 Link to the meeting notes 2016-04-01 17:58:55 +01:00
Dan Abramov 575fb79162 Add ReactDebugInstanceMap
This PR is the first in a series of pull requests split from the new `ReactPerf` implementation in #6046.

Here, we introduce a new module called `ReactDebugInstanceMap`. It will be used in `__DEV__` and, when the `__PROFILE__` gate is added, in the `__PROFILE__` builds. It will *not* be used in the production builds.

This module acts as a mapping between “debug IDs” (a new concept) and the internal instances. Not to be confused with the existing `ReactInstanceMap` that maps internal instances to public instances.

What are the “debug IDs” and why do we need them? Both the new `ReactPerf` and other consumers of the devtool API, such as React DevTools, need access to some data from the internal instances, such as the instance type display name, current props and children, and so on. Right now we let such tools access internal instances directly but this hurts our ability to refactor their implementations and burdens React DevTools with undesired implementation details such as having to support React ART in a special way.[1]

The purpose of adding `ReactDebugInstanceMap` is to only expose “debug IDs” instead of the internal instances to any devtools. In a future RP, whenever there is an event such as mounting, updating, or unmounting a component, we will emit an event in `ReactDebugTool` with the debug ID of the instance. We will also add an introspection API that lets the consumer pass an ID and get the information about the current children, props, state, display name, and so on, without exposing the internal instances.

`ReactDebugInstanceMap` has a concept of “registering” an instance. We plan to add the hooks that register an instance as soon as it is created, and unregister it during unmounting. It will only be possible to read information about the instance while it is still registered. If we add support for reparenting, we should be able to move the (un)registration code to different places in the component lifecycle without changing this code. The currently registered instances are held in the `registeredInstancesByIDs` dictionary.

There is also a reverse lookup dictionary called `allInstancesToIDs` which maps instances back to their IDs. It is implemented as a `WeakMap` so the keys are stable and we’re not holding onto the unregistered instances. If we’re not happy with `WeakMap`, one possible alternative would be to add a new field called `_debugID` to all the internal instances, but we don’t want to do this in production. Using `WeakMap` seems like a simpler solution here (and stable IDs are a nice bonus). This, however, means that the `__DEV__` (and the future `__PROFILE__`) builds will only work in browsers that support our usage of `WeakMap`.

[1]: https://github.com/facebook/react-devtools/blob/577ec9b8d994fd26d76feb20a1993a96558b7745/backend/getData.js
2016-03-31 17:58:55 +01:00
Jim eb85b7b2c9 Merge pull request #6381 from cbrwizard/clipboard_event_unit_tests
SyntheticClipboardEvent unit tests
2016-03-31 07:37:31 -07:00
Jim 7a8c460e03 Merge pull request #6367 from sottar/translate-thinking-in-react.md-to-Japanese
Translate thinking-in-react.md to Japanese
2016-03-30 20:52:08 -07:00
Dan Abramov cbe72d4b97 Merge pull request #6383 from gaearon/consistent-spies
Spy at warnings consistently inside test cases
2016-03-30 23:58:15 +01:00
Dan Abramov b6bc4bd996 Spy at warnings consistently inside test cases
We move any spies on `console.error()` from `beforeEach()` to the individual `it()` tests. This means that if a new test is introduced in these suites, it does not ignore warnings by default, but fails on any unexpected warning, which is Jest's default behavior.

We also change a few old instances of direct `console.error = jest.genMockFn()` assignment to use `spyOn()` for consistency with the rest of the tests.
2016-03-30 22:01:20 +01:00
cbrwizard e6e38d0f9c SyntheticClipboardEvent unit tests
Adds unit tests for a SyntheticClipboardEvent.
2016-03-30 23:09:23 +03:00
Dan Abramov 05b05c4c81 Merge pull request #6363 from facebook/gaearon-patch-1
Document how to avoid wrapper in ReactTransitionGroup
2016-03-30 01:17:48 +01:00
Dan Abramov 531205065f Document how to avoid wrapper in ReactTransitionGroup
Thanks to @rayshan for some rewording tips too!
2016-03-30 01:16:37 +01:00
Dan Abramov 03fe7dbb37 Fixed paren balance in the doc 2016-03-29 21:30:49 +01:00
Jim d9ca95c44f Merge pull request #6374 from mfunkie/patch-3
Link to "No Autobinding" section for ES6 classes.
2016-03-29 13:25:52 -07:00
Mark Funk 58a86f6c6c Link to "No Autobinding" section for ES6 classes.
There's a more descriptive section about the lack of Autobinding in ES6 classes and suggestions around it, so this commit adds a link to that section.
2016-03-29 13:19:38 -07:00
Dan Abramov 4910c3bcce Merge pull request #6373 from mfunkie/patch-2
Update ES6 class documentation with binding perf
2016-03-29 20:58:16 +01:00
Mark Funk fb13cf55fe Update ES6 class documentation with binding perf
Adding a note in the ES6 class documentation about function binding.  Recommending that you bind your handlers in the constructor so that they are referentially the same function every time render is invoked (helps with child components that might potentially call shouldComponentUpdate)
2016-03-29 12:51:57 -07:00
Dan Abramov b666a44ce1 Merge pull request #6360 from cbrwizard/SyntheticKeyboardEvent_unit_tests
SyntheticKeyboardEvent unit tests
2016-03-29 20:35:06 +01:00
cbrwizard d743a8dd55 SyntheticKeyboardEvent unit tests
Adds unit tests for SyntheticKeyboardEvent.
2016-03-29 22:28:11 +03:00
Paul O’Shannessy 22a3d0387b Merge pull request #6337 from zpao/15-examples
Update examples for 15 (and other examples fixes)
2016-03-29 11:02:28 -07:00
Paul O’Shannessy 2baa3b7d2f Update examples for v15
- Update commonjs example to use Babel 6
- Update click counter example to match other examples
- Update jquery example
- Stop shipping webcomponents.js in starter kit
2016-03-29 11:00:48 -07:00
Dan Abramov 7f01c47658 Fix whitespace in 0.14.8 blog entry 2016-03-29 18:31:48 +01:00
Dan Abramov d7fe7ecca5 Merge pull request #6370 from gaearon/148-post
Blog post for React 0.14.8
2016-03-29 17:22:50 +01:00
Dan Abramov 96c0cd061e Update README and CHANGELOG for 0.14.8 2016-03-29 17:07:21 +01:00
Dan Abramov 815d3514a7 Blog post for React 0.14.8 2016-03-29 16:47:11 +01:00
sottar 2890af02f1 Translate thinking-in-react.md to Japanese 2016-03-29 21:02:58 +09:00
Dan Abramov a2780212ae Merge branch 'andreypopp-patch-1' 2016-03-27 00:25:40 +00:00
Dan Abramov ba76649c3b Rename example package.json command for consistency with README 2016-03-27 00:25:29 +00:00
Jim dcd092560d Merge pull request #6305 from maherbeg/maher-error-find-dom-node
Test to verify findDOMNode does not throw in willMount
2016-03-24 18:59:55 -07:00
Maher Beg 70de7e4a38 Test to verify findDOMNode does not throw in willMount
Adds a test to prevent a regression of throwing an error when
calling `findDOMNode(this)` in a component's `componentWillMount`
function. This previously used to throw an invariant violation but
now does not any more.
2016-03-24 18:06:27 -07:00
Paul O’Shannessy 9358ce3b02 Merge pull request #6332 from kentcdodds/pr/beginner-friendly
add beginner friendly resource for learning how to PR
2016-03-24 16:07:01 -07:00
Paul O’Shannessy 6a8ebfc418 Merge pull request #6331 from zpao/isonpmorphic
Make Browserify-specific modules to remove DOM dependencies from npm package
2016-03-24 16:01:51 -07:00
Paul O’Shannessy d17091ddeb Make Browserify-specific modules to remove DOM dependencies from npm package 2016-03-24 15:28:52 -07:00
Paul O’Shannessy ae2a7c723f Merge pull request #6333 from kentcdodds/pr/beginner-friendly-badge
add prs welcome badge
2016-03-24 14:58:15 -07:00
Kent C. Dodds 6b307a55fb add prs welcome badge 2016-03-24 14:18:32 -06:00