From 59fe162fe56d75444be38dbb0b84d9d0cc121d91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Paul=20O=E2=80=99Shannessy?= Date: Thu, 8 May 2014 11:57:43 -0700 Subject: [PATCH] Update to latest docs. Biggest change: no more fb comments Commits synced: 009be6290660a547f6514cdefe1d5c65d44a6068 af79caf1aa1cfa22f03fb4be328df660ca7ff6d5 5167b7a5b2a77152e202682fbcc7184a6d71f8f2 f728846712db2bbab861b81e0c6b0119030c3caa af7ea7c9991c7e8691dac4b3c93e61fb048dd19b 287db7017e1ba554f55399a165f6d07fe667e075 14580fb01209c1424797c1cdb03a00ca71681841 f27175d166470e69a13ec96af6ac0d5f908dae57 663dd6f5b3a8076ecc055e92315e86b894d53017 df72bd76bea2614fda8afdf8be6b79c7e30f08b7 05cc7b635ca8f51cc8afc09e9fa1c1d3de77305e fbbace6b6925f48bd1f377e153a929cbc604a0de 6323db7c18419f3d9988df94a1c4dee97b43e908 cdac160439f9c6c9e3bbb8d39610aa083cb30460 dea228e4ae55ee5f257b21bceadecf00f8bb39c9 b360ed80dd573a14a9b779386cebc0cc8552ab82 67c68612c08f3df05dc4562b2897ae4ada3e9bfa c4ed2c1c901e575376aa9c208240bdf317fd7598 --- blog/2013/06/02/jsfiddle-integration.html | 1 - blog/2013/06/05/why-react.html | 1 - blog/2013/06/12/community-roundup.html | 1 - blog/2013/06/19/community-roundup-2.html | 1 - blog/2013/06/21/react-v0-3-3.html | 1 - blog/2013/06/27/community-roundup-3.html | 1 - .../07/02/react-v0-4-autobind-by-default.html | 1 - blog/2013/07/03/community-roundup-4.html | 1 - ...-4-prop-validation-and-default-values.html | 1 - blog/2013/07/17/react-v0-4-0.html | 1 - blog/2013/07/23/community-roundup-5.html | 1 - blog/2013/07/26/react-v0-4-1.html | 1 - .../use-react-and-jsx-in-ruby-on-rails.html | 1 - blog/2013/08/05/community-roundup-6.html | 1 - ...-react-and-jsx-in-python-applications.html | 1 - blog/2013/08/26/community-roundup-7.html | 1 - blog/2013/09/24/community-roundup-8.html | 1 - blog/2013/10/03/community-roundup-9.html | 1 - blog/2013/10/16/react-v0.5.0.html | 1 - blog/2013/10/29/react-v0-5-1.html | 1 - blog/2013/11/05/thinking-in-react.html | 1 - blog/2013/11/06/community-roundup-10.html | 1 - blog/2013/11/18/community-roundup-11.html | 1 - blog/2013/12/18/react-v0.5.2-v0.4.2.html | 1 - blog/2013/12/19/react-v0.8.0.html | 1 - blog/2013/12/23/community-roundup-12.html | 1 - blog/2013/12/30/community-roundup-13.html | 1 - .../01/02/react-chrome-developer-tools.html | 1 - blog/2014/01/06/community-roundup-14.html | 1 - blog/2014/02/05/community-roundup-15.html | 1 - blog/2014/02/15/community-roundup-16.html | 1 - blog/2014/02/16/react-v0.9-rc1.html | 1 - blog/2014/02/20/react-v0.9.html | 1 - blog/2014/02/24/community-roundup-17.html | 1 - blog/2014/03/14/community-roundup-18.html | 1 - blog/2014/03/19/react-v0.10-rc1.html | 1 - blog/2014/03/21/react-v0.10.html | 1 - blog/2014/03/28/the-road-to-1.0.html | 1 - blog/2014/04/04/reactnet.html | 1 - docs/addons.html | 2 -- docs/animation.html | 2 -- docs/class-name-manipulation.html | 2 -- docs/clone-with-props.html | 2 -- docs/complementary-tools.html | 2 -- docs/component-api.html | 2 -- docs/component-specs.html | 2 -- docs/displaying-data.html | 2 -- docs/dom-differences.html | 2 -- docs/events.html | 2 -- docs/examples.html | 2 -- docs/forms.html | 2 -- docs/getting-started.html | 2 -- docs/interactivity-and-dynamic-uis.html | 2 -- docs/jsx-gotchas.html | 2 -- docs/jsx-in-depth.html | 16 ++++++++++---- docs/more-about-refs.html | 14 ++++++------ docs/multiple-components.html | 2 -- docs/reconciliation.html | 2 -- docs/reusable-components.html | 4 +--- docs/special-non-dom-attributes.html | 2 -- docs/tags-and-attributes.html | 2 -- docs/test-utils.html | 4 +--- docs/thinking-in-react.html | 8 +++---- docs/tooling-integration.html | 18 +--------------- docs/top-level-api.html | 2 -- docs/tutorial.html | 20 ++++++++++++++++-- docs/two-way-binding-helpers.html | 2 -- docs/update.html | 2 -- docs/videos.html | 11 ++++++++-- docs/why-react.html | 2 -- docs/working-with-the-browser.html | 2 -- img/docs/thinking-in-react-tagtree.png | Bin 0 -> 14561 bytes tips/children-props-type.html | 2 -- tips/communicate-between-components.html | 2 -- ...iveProps-not-triggered-after-mounting.html | 2 -- tips/controlled-input-null-value.html | 4 +--- tips/dom-event-listeners.html | 2 -- tips/expose-component-functions.html | 2 -- tips/false-in-jsx.html | 2 -- tips/if-else-in-JSX.html | 2 -- tips/initial-ajax.html | 4 +--- tips/inline-styles.html | 2 -- tips/introduction.html | 2 -- tips/maximum-number-of-jsx-root-nodes.html | 2 -- ...ps-in-getInitialState-as-anti-pattern.html | 2 -- tips/references-to-components.html | 2 -- tips/self-closing-tag.html | 2 -- tips/style-props-value-px.html | 2 -- 88 files changed, 53 insertions(+), 165 deletions(-) create mode 100644 img/docs/thinking-in-react-tagtree.png diff --git a/blog/2013/06/02/jsfiddle-integration.html b/blog/2013/06/02/jsfiddle-integration.html index 126997cd1a..9ab2b34200 100644 --- a/blog/2013/06/02/jsfiddle-integration.html +++ b/blog/2013/06/02/jsfiddle-integration.html @@ -104,7 +104,6 @@
-
diff --git a/blog/2013/06/05/why-react.html b/blog/2013/06/05/why-react.html index 9804745404..0022aa0c62 100644 --- a/blog/2013/06/05/why-react.html +++ b/blog/2013/06/05/why-react.html @@ -180,7 +180,6 @@ but if you are interested in the nuts and bolts
-
diff --git a/blog/2013/06/12/community-roundup.html b/blog/2013/06/12/community-roundup.html index 341acd71e0..2efd902dd2 100644 --- a/blog/2013/06/12/community-roundup.html +++ b/blog/2013/06/12/community-roundup.html @@ -141,7 +141,6 @@
-
diff --git a/blog/2013/06/19/community-roundup-2.html b/blog/2013/06/19/community-roundup-2.html index 76239b2b67..38e5cbd54b 100644 --- a/blog/2013/06/19/community-roundup-2.html +++ b/blog/2013/06/19/community-roundup-2.html @@ -164,7 +164,6 @@
-
diff --git a/blog/2013/06/21/react-v0-3-3.html b/blog/2013/06/21/react-v0-3-3.html index 13f4f78445..a33c239ac1 100644 --- a/blog/2013/06/21/react-v0-3-3.html +++ b/blog/2013/06/21/react-v0-3-3.html @@ -114,7 +114,6 @@
-
diff --git a/blog/2013/06/27/community-roundup-3.html b/blog/2013/06/27/community-roundup-3.html index 604b5709bf..853b5b911e 100644 --- a/blog/2013/06/27/community-roundup-3.html +++ b/blog/2013/06/27/community-roundup-3.html @@ -173,7 +173,6 @@
-
diff --git a/blog/2013/07/02/react-v0-4-autobind-by-default.html b/blog/2013/07/02/react-v0-4-autobind-by-default.html index cc6935ae48..2e9ff7560a 100644 --- a/blog/2013/07/02/react-v0-4-autobind-by-default.html +++ b/blog/2013/07/02/react-v0-4-autobind-by-default.html @@ -130,7 +130,6 @@
-
diff --git a/blog/2013/07/03/community-roundup-4.html b/blog/2013/07/03/community-roundup-4.html index e0593eaff2..b582b3f2db 100644 --- a/blog/2013/07/03/community-roundup-4.html +++ b/blog/2013/07/03/community-roundup-4.html @@ -159,7 +159,6 @@
-
diff --git a/blog/2013/07/11/react-v0-4-prop-validation-and-default-values.html b/blog/2013/07/11/react-v0-4-prop-validation-and-default-values.html index d6d45287c0..8bd81b9922 100644 --- a/blog/2013/07/11/react-v0-4-prop-validation-and-default-values.html +++ b/blog/2013/07/11/react-v0-4-prop-validation-and-default-values.html @@ -141,7 +141,6 @@
-
diff --git a/blog/2013/07/17/react-v0-4-0.html b/blog/2013/07/17/react-v0-4-0.html index 16d2f54b62..126346bd03 100644 --- a/blog/2013/07/17/react-v0-4-0.html +++ b/blog/2013/07/17/react-v0-4-0.html @@ -131,7 +131,6 @@ If you were using React without JSX previously, your code should still work.
-
diff --git a/blog/2013/07/23/community-roundup-5.html b/blog/2013/07/23/community-roundup-5.html index 36fefacc14..8d675442ff 100644 --- a/blog/2013/07/23/community-roundup-5.html +++ b/blog/2013/07/23/community-roundup-5.html @@ -188,7 +188,6 @@
-
diff --git a/blog/2013/07/26/react-v0-4-1.html b/blog/2013/07/26/react-v0-4-1.html index fd9c59468b..e9a8930835 100644 --- a/blog/2013/07/26/react-v0-4-1.html +++ b/blog/2013/07/26/react-v0-4-1.html @@ -115,7 +115,6 @@
-
diff --git a/blog/2013/07/30/use-react-and-jsx-in-ruby-on-rails.html b/blog/2013/07/30/use-react-and-jsx-in-ruby-on-rails.html index e24bb3dc6d..8a86c6f306 100644 --- a/blog/2013/07/30/use-react-and-jsx-in-ruby-on-rails.html +++ b/blog/2013/07/30/use-react-and-jsx-in-ruby-on-rails.html @@ -126,7 +126,6 @@
-
diff --git a/blog/2013/08/05/community-roundup-6.html b/blog/2013/08/05/community-roundup-6.html index abe98e1a7c..b4e7871ab1 100644 --- a/blog/2013/08/05/community-roundup-6.html +++ b/blog/2013/08/05/community-roundup-6.html @@ -163,7 +163,6 @@
-
diff --git a/blog/2013/08/19/use-react-and-jsx-in-python-applications.html b/blog/2013/08/19/use-react-and-jsx-in-python-applications.html index fc71e8a752..32332feb10 100644 --- a/blog/2013/08/19/use-react-and-jsx-in-python-applications.html +++ b/blog/2013/08/19/use-react-and-jsx-in-python-applications.html @@ -132,7 +132,6 @@
-
diff --git a/blog/2013/08/26/community-roundup-7.html b/blog/2013/08/26/community-roundup-7.html index e62d60918e..fd7556525b 100644 --- a/blog/2013/08/26/community-roundup-7.html +++ b/blog/2013/08/26/community-roundup-7.html @@ -172,7 +172,6 @@
-
diff --git a/blog/2013/09/24/community-roundup-8.html b/blog/2013/09/24/community-roundup-8.html index 424d145d50..a263b2c3ea 100644 --- a/blog/2013/09/24/community-roundup-8.html +++ b/blog/2013/09/24/community-roundup-8.html @@ -152,7 +152,6 @@
-
diff --git a/blog/2013/10/03/community-roundup-9.html b/blog/2013/10/03/community-roundup-9.html index 2febee83d9..f96ed6b3d3 100644 --- a/blog/2013/10/03/community-roundup-9.html +++ b/blog/2013/10/03/community-roundup-9.html @@ -176,7 +176,6 @@
-
diff --git a/blog/2013/10/16/react-v0.5.0.html b/blog/2013/10/16/react-v0.5.0.html index f1a8b8f77a..704a0a6e01 100644 --- a/blog/2013/10/16/react-v0.5.0.html +++ b/blog/2013/10/16/react-v0.5.0.html @@ -140,7 +140,6 @@
-
diff --git a/blog/2013/10/29/react-v0-5-1.html b/blog/2013/10/29/react-v0-5-1.html index e13b724a67..ee491bdc0e 100644 --- a/blog/2013/10/29/react-v0-5-1.html +++ b/blog/2013/10/29/react-v0-5-1.html @@ -111,7 +111,6 @@
-
diff --git a/blog/2013/11/05/thinking-in-react.html b/blog/2013/11/05/thinking-in-react.html index 1504e1287d..43d7f8b671 100644 --- a/blog/2013/11/05/thinking-in-react.html +++ b/blog/2013/11/05/thinking-in-react.html @@ -237,7 +237,6 @@
-
diff --git a/blog/2013/11/06/community-roundup-10.html b/blog/2013/11/06/community-roundup-10.html index 81e9f1e9e9..04dad53f1d 100644 --- a/blog/2013/11/06/community-roundup-10.html +++ b/blog/2013/11/06/community-roundup-10.html @@ -207,7 +207,6 @@
-
diff --git a/blog/2013/11/18/community-roundup-11.html b/blog/2013/11/18/community-roundup-11.html index fb1d906a96..ce65b20d00 100644 --- a/blog/2013/11/18/community-roundup-11.html +++ b/blog/2013/11/18/community-roundup-11.html @@ -168,7 +168,6 @@ Is this some sort of template language? Specifically no. This might have been th
-
diff --git a/blog/2013/12/18/react-v0.5.2-v0.4.2.html b/blog/2013/12/18/react-v0.5.2-v0.4.2.html index cfd9ce13a0..b58384fef3 100644 --- a/blog/2013/12/18/react-v0.5.2-v0.4.2.html +++ b/blog/2013/12/18/react-v0.5.2-v0.4.2.html @@ -110,7 +110,6 @@
-
diff --git a/blog/2013/12/19/react-v0.8.0.html b/blog/2013/12/19/react-v0.8.0.html index 10bdf24dbf..53eef16e0d 100644 --- a/blog/2013/12/19/react-v0.8.0.html +++ b/blog/2013/12/19/react-v0.8.0.html @@ -140,7 +140,6 @@
-
diff --git a/blog/2013/12/23/community-roundup-12.html b/blog/2013/12/23/community-roundup-12.html index 6d8eb0a7df..08e7ba4a84 100644 --- a/blog/2013/12/23/community-roundup-12.html +++ b/blog/2013/12/23/community-roundup-12.html @@ -172,7 +172,6 @@ componentDidUpdate: function() {
-
diff --git a/blog/2013/12/30/community-roundup-13.html b/blog/2013/12/30/community-roundup-13.html index 8228955016..bf9b3622d7 100644 --- a/blog/2013/12/30/community-roundup-13.html +++ b/blog/2013/12/30/community-roundup-13.html @@ -187,7 +187,6 @@
-
diff --git a/blog/2014/01/02/react-chrome-developer-tools.html b/blog/2014/01/02/react-chrome-developer-tools.html index eb831adaa3..3d2274295c 100644 --- a/blog/2014/01/02/react-chrome-developer-tools.html +++ b/blog/2014/01/02/react-chrome-developer-tools.html @@ -111,7 +111,6 @@
-
diff --git a/blog/2014/01/06/community-roundup-14.html b/blog/2014/01/06/community-roundup-14.html index cc78911bd2..8a4a237f94 100644 --- a/blog/2014/01/06/community-roundup-14.html +++ b/blog/2014/01/06/community-roundup-14.html @@ -164,7 +164,6 @@ rails s
-
diff --git a/blog/2014/02/05/community-roundup-15.html b/blog/2014/02/05/community-roundup-15.html index 17f09b095c..edba0c4415 100644 --- a/blog/2014/02/05/community-roundup-15.html +++ b/blog/2014/02/05/community-roundup-15.html @@ -202,7 +202,6 @@
-
diff --git a/blog/2014/02/15/community-roundup-16.html b/blog/2014/02/15/community-roundup-16.html index 7ed1a04c9e..3875d14824 100644 --- a/blog/2014/02/15/community-roundup-16.html +++ b/blog/2014/02/15/community-roundup-16.html @@ -157,7 +157,6 @@
-
diff --git a/blog/2014/02/16/react-v0.9-rc1.html b/blog/2014/02/16/react-v0.9-rc1.html index c2db18750d..f795eceb26 100644 --- a/blog/2014/02/16/react-v0.9-rc1.html +++ b/blog/2014/02/16/react-v0.9-rc1.html @@ -216,7 +216,6 @@ Minified build for production: -
diff --git a/blog/2014/02/20/react-v0.9.html b/blog/2014/02/20/react-v0.9.html index 6cab936597..cc75e8d67b 100644 --- a/blog/2014/02/20/react-v0.9.html +++ b/blog/2014/02/20/react-v0.9.html @@ -226,7 +226,6 @@ Minified build for production:
-
diff --git a/blog/2014/02/24/community-roundup-17.html b/blog/2014/02/24/community-roundup-17.html index 0c563ea19e..f55501ca94 100644 --- a/blog/2014/02/24/community-roundup-17.html +++ b/blog/2014/02/24/community-roundup-17.html @@ -144,7 +144,6 @@
-
diff --git a/blog/2014/03/14/community-roundup-18.html b/blog/2014/03/14/community-roundup-18.html index ae63324aed..82dbb98fab 100644 --- a/blog/2014/03/14/community-roundup-18.html +++ b/blog/2014/03/14/community-roundup-18.html @@ -173,7 +173,6 @@ Thomas Boyt (
@thomasaboyt) wrote <
-
diff --git a/blog/2014/03/19/react-v0.10-rc1.html b/blog/2014/03/19/react-v0.10-rc1.html index 8f6027edcd..383af05a76 100644 --- a/blog/2014/03/19/react-v0.10-rc1.html +++ b/blog/2014/03/19/react-v0.10-rc1.html @@ -164,7 +164,6 @@ Minified build for production: -
diff --git a/blog/2014/03/21/react-v0.10.html b/blog/2014/03/21/react-v0.10.html index 6deefd7b9e..c35482324b 100644 --- a/blog/2014/03/21/react-v0.10.html +++ b/blog/2014/03/21/react-v0.10.html @@ -164,7 +164,6 @@ Minified build for production:
-
diff --git a/blog/2014/03/28/the-road-to-1.0.html b/blog/2014/03/28/the-road-to-1.0.html index fb21505944..2aaa7b9966 100644 --- a/blog/2014/03/28/the-road-to-1.0.html +++ b/blog/2014/03/28/the-road-to-1.0.html @@ -127,7 +127,6 @@
-
diff --git a/blog/2014/04/04/reactnet.html b/blog/2014/04/04/reactnet.html index 623fd889e3..13096a16c6 100644 --- a/blog/2014/04/04/reactnet.html +++ b/blog/2014/04/04/reactnet.html @@ -129,7 +129,6 @@ report bugs
on GitHub.

-
diff --git a/docs/addons.html b/docs/addons.html index 26f4a8e049..4bfc1b00db 100644 --- a/docs/addons.html +++ b/docs/addons.html @@ -414,8 +414,6 @@ Next → - -
diff --git a/docs/animation.html b/docs/animation.html index 7abf150499..4ac054068d 100644 --- a/docs/animation.html +++ b/docs/animation.html @@ -484,8 +484,6 @@ Next → - -
diff --git a/docs/class-name-manipulation.html b/docs/class-name-manipulation.html index 9edb4f6bdf..4a37ac5c6c 100644 --- a/docs/class-name-manipulation.html +++ b/docs/class-name-manipulation.html @@ -433,8 +433,6 @@ Next → - -
diff --git a/docs/clone-with-props.html b/docs/clone-with-props.html index f34efd9413..689f27e05f 100644 --- a/docs/clone-with-props.html +++ b/docs/clone-with-props.html @@ -405,8 +405,6 @@ Next → - -
diff --git a/docs/complementary-tools.html b/docs/complementary-tools.html index 9bbf9030cc..c954549a89 100644 --- a/docs/complementary-tools.html +++ b/docs/complementary-tools.html @@ -403,8 +403,6 @@ Next → - -
diff --git a/docs/component-api.html b/docs/component-api.html index 32864457aa..7b3331c6f0 100644 --- a/docs/component-api.html +++ b/docs/component-api.html @@ -465,8 +465,6 @@ Next → - -
diff --git a/docs/component-specs.html b/docs/component-specs.html index bb515322cc..41240a9093 100644 --- a/docs/component-specs.html +++ b/docs/component-specs.html @@ -522,8 +522,6 @@ transition to the new props and state will not require a component update.

Next → - -
diff --git a/docs/displaying-data.html b/docs/displaying-data.html index 885961b5c2..d7a018563f 100644 --- a/docs/displaying-data.html +++ b/docs/displaying-data.html @@ -468,8 +468,6 @@ Next → - -
diff --git a/docs/dom-differences.html b/docs/dom-differences.html index a5ab431aef..fb4d4c1e29 100644 --- a/docs/dom-differences.html +++ b/docs/dom-differences.html @@ -411,8 +411,6 @@ Next → - -
diff --git a/docs/events.html b/docs/events.html index 63c897d7f3..f92f6dac2a 100644 --- a/docs/events.html +++ b/docs/events.html @@ -505,8 +505,6 @@ rendering any component.

Next → - -
diff --git a/docs/examples.html b/docs/examples.html index 93aa462aee..81ad418035 100644 --- a/docs/examples.html +++ b/docs/examples.html @@ -421,8 +421,6 @@ - -
diff --git a/docs/forms.html b/docs/forms.html index 7319726ed6..131b67f11b 100644 --- a/docs/forms.html +++ b/docs/forms.html @@ -495,8 +495,6 @@ Next → - -
diff --git a/docs/getting-started.html b/docs/getting-started.html index 301087612d..50cf9f2569 100644 --- a/docs/getting-started.html +++ b/docs/getting-started.html @@ -483,8 +483,6 @@ Next → - -
diff --git a/docs/interactivity-and-dynamic-uis.html b/docs/interactivity-and-dynamic-uis.html index 6a9be310ab..021850ae73 100644 --- a/docs/interactivity-and-dynamic-uis.html +++ b/docs/interactivity-and-dynamic-uis.html @@ -458,8 +458,6 @@ Next → - -
diff --git a/docs/jsx-gotchas.html b/docs/jsx-gotchas.html index ec5e62d6bc..5f624f3c9f 100644 --- a/docs/jsx-gotchas.html +++ b/docs/jsx-gotchas.html @@ -435,8 +435,6 @@ Next → - -
diff --git a/docs/jsx-in-depth.html b/docs/jsx-in-depth.html index 01823bcd50..9c5c0c2dab 100644 --- a/docs/jsx-in-depth.html +++ b/docs/jsx-in-depth.html @@ -512,8 +512,18 @@ pair of curly braces ({}) instead of quotes (""// Output (JS): var content = Container(null, window.isLoggedIn ? Nav(null) : Login(null));

Comments #

-

It's easy to add comments within your JSX; they're just JS expressions:

-
var content = <Container>{/* this is a comment */}<Nav /></Container>;
+

It's easy to add comments within your JSX; they're just JS expressions. You just need to be careful to put {} around the comments when you are within the children section of a tag.

+
var content = (
+  <Nav>
+    {/* child comment, put {} around */}
+    <Person
+      /* multi
+         line
+         comment */
+      name={window.isLoggedIn ? window.name : ''} // end of line comment
+    />
+  </Nav>
+);
 

Prior Work #

JSX is similar to several other JavaScript embedded XML language proposals/projects. Some of the features of JSX that distinguish it from similar @@ -536,8 +546,6 @@ efforts include:

Next →
- -
diff --git a/docs/more-about-refs.html b/docs/more-about-refs.html index 50fa01bca6..fb20bc0f0a 100644 --- a/docs/more-about-refs.html +++ b/docs/more-about-refs.html @@ -399,7 +399,7 @@ getInitialState: function() { return {userInput: ''}; }, - handleKeyUp: function(e) { + handleChange: function(e) { this.setState({userInput: e.target.value}); }, clearAndFocusInput: function() { @@ -410,11 +410,11 @@ return ( <div> <div onClick={this.clearAndFocusInput}> - Click To Focus and Reset + Click to Focus and Reset </div> <input value={this.state.userInput} - onKeyUp={this.handleKeyUp} + onChange={this.handleChange} /> </div> ); @@ -459,7 +459,7 @@ getInitialState: function() { return {userInput: ''}; }, - handleKeyUp: function(e) { + handleChange: function(e) { this.setState({userInput: e.target.value}); }, clearAndFocusInput: function() { @@ -470,12 +470,12 @@ return ( <div> <div onClick={this.clearAndFocusInput}> - Click To Focus and Reset + Click to Focus and Reset </div> <input ref="theInput" value={this.state.userInput} - onKeyUp={this.handleKeyUp} + onChange={this.handleChange} /> </div> ); @@ -507,8 +507,6 @@ Next → - -
diff --git a/docs/multiple-components.html b/docs/multiple-components.html index c53dcd07f7..13ff2538a8 100644 --- a/docs/multiple-components.html +++ b/docs/multiple-components.html @@ -522,8 +522,6 @@ Next → - -
diff --git a/docs/reconciliation.html b/docs/reconciliation.html index 7c8895d5c2..17b391f7d3 100644 --- a/docs/reconciliation.html +++ b/docs/reconciliation.html @@ -480,8 +480,6 @@ renderB: <div><span key= - -
diff --git a/docs/reusable-components.html b/docs/reusable-components.html index df0d33a2de..25b46a36a0 100644 --- a/docs/reusable-components.html +++ b/docs/reusable-components.html @@ -441,7 +441,7 @@ // shown if the prop isn't provided. requiredFunc: React.PropTypes.func.isRequired, - // An object of any kind + // A value of any data type requiredAny: React.PropTypes.any.isRequired, // You can also specify a custom validator. @@ -553,8 +553,6 @@ a component as children.

Next → - -
diff --git a/docs/special-non-dom-attributes.html b/docs/special-non-dom-attributes.html index 4c9f3b49a7..a6ff00108e 100644 --- a/docs/special-non-dom-attributes.html +++ b/docs/special-non-dom-attributes.html @@ -409,8 +409,6 @@ Next → - -
diff --git a/docs/tags-and-attributes.html b/docs/tags-and-attributes.html index e1069fd854..9dc8d8bbab 100644 --- a/docs/tags-and-attributes.html +++ b/docs/tags-and-attributes.html @@ -448,8 +448,6 @@ version viewBox x1 x2 x y1 y2 y Next → - -
diff --git a/docs/test-utils.html b/docs/test-utils.html index 3b299ac533..7682ff8be5 100644 --- a/docs/test-utils.html +++ b/docs/test-utils.html @@ -400,7 +400,7 @@

Example usage:

React.addons.TestUtils.Simulate.click(myComponent);
 React.addons.TestUtils.Simulate.change(myComponent);
-React.addons.TestUtils.Simulate.keydown(myComponent, {key: "Enter"});
+React.addons.TestUtils.Simulate.keyDown(myComponent, {key: "Enter"});
 

Simulate has a method for every event that React understands.

renderIntoDocument #

ReactComponent renderIntoDocument(ReactComponent instance)
@@ -455,8 +455,6 @@
         Next →
       
     
- -
diff --git a/docs/thinking-in-react.html b/docs/thinking-in-react.html index 48955a4ffb..c306efd7b5 100644 --- a/docs/thinking-in-react.html +++ b/docs/thinking-in-react.html @@ -448,7 +448,7 @@

Step 2: Build a static version in React #

- +

Now that you have your component hierarchy it's time to start implementing your app. The easiest way is to build a version that takes your data model and renders the UI but has no interactivity. It's easiest to decouple these processes because building a static version requires a lot of typing and no thinking, and adding interactivity requires a lot of thinking and not a lot of typing. We'll see why.

@@ -492,7 +492,7 @@
  • The value of the checkbox
  • Step 4: Identify where your state should live #

    - +

    OK, so we've identified what the minimal set of app state is. Next we need to identify which component mutates, or owns, this state.

    @@ -519,7 +519,7 @@

    You can start seeing how your application will behave: set filterText to "ball" and refresh your app. You'll see the data table is updated correctly.

    Step 5: Add inverse data flow #

    - +

    So far we've built an app that renders correctly as a function of props and state flowing down the hierarchy. Now it's time to support data flowing the other way: the form components deep in the hierarchy need to update the state in FilterableProductTable.

    @@ -542,8 +542,6 @@ Next → - -
    diff --git a/docs/tooling-integration.html b/docs/tooling-integration.html index c106cec140..343739aea5 100644 --- a/docs/tooling-integration.html +++ b/docs/tooling-integration.html @@ -408,21 +408,7 @@

    Productionizing: Precompiled JSX #

    If you have npm, you can simply run npm install -g react-tools to install our command-line jsx tool. This tool will translate files that use JSX syntax to plain JavaScript files that can run directly in the browser. It will also watch directories for you and automatically transform files when they are changed; for example: jsx --watch src/ build/. Run jsx --help for more information on how to use this tool.

    Helpful Open-Source Projects #

    -

    The open-source community has built tools that integrate JSX with several build systems. See JSX integrations for the full list.

    -

    Syntax Highlighting & Linting #

    -
      -
    • Many editors already include reasonable support for JSX (Vim, Emacs js2-mode). - -
        -
      • JSX syntax highlighting is available for Sublime Text and other editors -that support *.tmLanguage.
      • -
      • web-mode.el is an autonomous emacs major mode that indents and highlights JSX
      • -
    • -
    • Linting provides accurate line numbers after compiling without sourcemaps.
    • -
    • Elements use standard scoping so linters can find usage of out-of-scope components.
    • -
    -

    Debugging #

    -

    React Developer Tools is a Chrome extension that allows you to inspect the React component hierarchy in the Chrome Developer Tools.

    +

    The open-source community has built tools that integrate JSX with several editors and build systems. See JSX integrations for the full list.

    @@ -433,8 +419,6 @@ that support *.tmLanguage. Next →
    - -
    diff --git a/docs/top-level-api.html b/docs/top-level-api.html index 2427738224..6b1dc39ae5 100644 --- a/docs/top-level-api.html +++ b/docs/top-level-api.html @@ -451,8 +451,6 @@ Next → - -
    diff --git a/docs/tutorial.html b/docs/tutorial.html index f1441fec5e..013215f539 100644 --- a/docs/tutorial.html +++ b/docs/tutorial.html @@ -729,6 +729,9 @@ dataType: 'json', success: function(data) { this.setState({data: data}); + }.bind(this), + error: function(xhr, status, err) { + console.error(this.props.url, status, err.toString()); }.bind(this) }); }, @@ -817,6 +820,9 @@ dataType: 'json', success: function(data) { this.setState({data: data}); + }.bind(this), + error: function(xhr, status, err) { + console.error(this.props.url, status, err.toString()); }.bind(this) }); }, @@ -878,6 +884,9 @@ dataType: 'json', success: function(data) { this.setState({data: data}); + }.bind(this), + error: function(xhr, status, err) { + console.error(this.props.url, status, err.toString()); }.bind(this) }); }, @@ -889,6 +898,9 @@ data: comment, success: function(data) { this.setState({data: data}); + }.bind(this), + error: function(xhr, status, err) { + console.error(this.props.url, status, err.toString()); }.bind(this) }); }, @@ -921,6 +933,9 @@ dataType: 'json', success: function(data) { this.setState({data: data}); + }.bind(this), + error: function(xhr, status, err) { + console.error(this.props.url, status, err.toString()); }.bind(this) }); }, @@ -935,6 +950,9 @@ data: comment, success: function(data) { this.setState({data: data}); + }.bind(this), + error: function(xhr, status, err) { + console.error(this.props.url, status, err.toString()); }.bind(this) }); }, @@ -969,8 +987,6 @@ Next → - -
    diff --git a/docs/two-way-binding-helpers.html b/docs/two-way-binding-helpers.html index 5e4318d2bc..046c50ab9c 100644 --- a/docs/two-way-binding-helpers.html +++ b/docs/two-way-binding-helpers.html @@ -496,8 +496,6 @@ Next → - -
    diff --git a/docs/update.html b/docs/update.html index f191dd9a95..1b23006e91 100644 --- a/docs/update.html +++ b/docs/update.html @@ -440,8 +440,6 @@ - -
    diff --git a/docs/videos.html b/docs/videos.html index eb3db63b47..cede9e5c30 100644 --- a/docs/videos.html +++ b/docs/videos.html @@ -396,6 +396,13 @@

    "At Facebook and Instagram, we’re trying to push the limits of what’s possible on the web with React. My talk will start with a brief introduction to the framework, and then dive into three controversial topics: Throwing out the notion of templates and building views with JavaScript, “re-rendering” your entire application when your data changes, and a lightweight implementation of the DOM and events." -- Pete Hunt

    +

    Thinking in react - tagtree.tv #

    +

    A tagtree.tv video conveying the principles of Thinking in React while building a simple app +

    +

    Secrets of the Virtual DOM - MtnWest JS #

    + + +

    "In this talk I’ll be discussing why we built a virtual DOM, how it compares to other systems, and its relevance to the future of browser technologies." -- Pete Hunt

    CodeWinds #

    Pete Hunt talked with Jeff Barczewski about React in CodeWinds Episode 4.

    @@ -467,6 +474,8 @@

    In Russian by Alexander Solovyov

    "Functional DOM programming" - Meteor DevShop 11 #

    +

    "Rethinking Web App Development at Facebook" - Facebook F8 Conference 2014 #

    +
    @@ -477,8 +486,6 @@ Next →
    - -
    diff --git a/docs/why-react.html b/docs/why-react.html index 538ffcb6da..81f428e6d7 100644 --- a/docs/why-react.html +++ b/docs/why-react.html @@ -413,8 +413,6 @@ Next → - -
    diff --git a/docs/working-with-the-browser.html b/docs/working-with-the-browser.html index 2ede280218..85d6d709d1 100644 --- a/docs/working-with-the-browser.html +++ b/docs/working-with-the-browser.html @@ -520,8 +520,6 @@ Currently a handler to this event is ignored on IE8.

    Next → - -
    diff --git a/img/docs/thinking-in-react-tagtree.png b/img/docs/thinking-in-react-tagtree.png new file mode 100644 index 0000000000000000000000000000000000000000..3d4db2d233bf23130d3795ead02174c49fbd71d2 GIT binary patch literal 14561 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 KT(yjO*#82A_jN=7 literal 0 HcmV?d00001 diff --git a/tips/children-props-type.html b/tips/children-props-type.html index 0dc5b4a780..887cede51e 100644 --- a/tips/children-props-type.html +++ b/tips/children-props-type.html @@ -440,8 +440,6 @@ Next → - -
    diff --git a/tips/communicate-between-components.html b/tips/communicate-between-components.html index aa25deb895..426094c51a 100644 --- a/tips/communicate-between-components.html +++ b/tips/communicate-between-components.html @@ -433,8 +433,6 @@ Say your GroceryList component has a list of items generated throug Next → - -
    diff --git a/tips/componentWillReceiveProps-not-triggered-after-mounting.html b/tips/componentWillReceiveProps-not-triggered-after-mounting.html index 4f969500d5..14ed1aabd4 100644 --- a/tips/componentWillReceiveProps-not-triggered-after-mounting.html +++ b/tips/componentWillReceiveProps-not-triggered-after-mounting.html @@ -405,8 +405,6 @@ Next → - -
    diff --git a/tips/controlled-input-null-value.html b/tips/controlled-input-null-value.html index 3296f325e0..2f9d868a8e 100644 --- a/tips/controlled-input-null-value.html +++ b/tips/controlled-input-null-value.html @@ -403,7 +403,7 @@ setTimeout(function() { React.renderComponent(<input value={null} />, mountNode); -}, 2000); +}, 1000);
    @@ -414,8 +414,6 @@ Next →
    - -
    diff --git a/tips/dom-event-listeners.html b/tips/dom-event-listeners.html index 95a0f04e89..deda58f8ed 100644 --- a/tips/dom-event-listeners.html +++ b/tips/dom-event-listeners.html @@ -438,8 +438,6 @@ Next → - -
    diff --git a/tips/expose-component-functions.html b/tips/expose-component-functions.html index 20b0152d99..d2ec2bf510 100644 --- a/tips/expose-component-functions.html +++ b/tips/expose-component-functions.html @@ -449,8 +449,6 @@ - -
    diff --git a/tips/false-in-jsx.html b/tips/false-in-jsx.html index 80de698248..f6c5e51283 100644 --- a/tips/false-in-jsx.html +++ b/tips/false-in-jsx.html @@ -417,8 +417,6 @@ Next → - -
    diff --git a/tips/if-else-in-JSX.html b/tips/if-else-in-JSX.html index 0f315ca65f..ed5001493e 100644 --- a/tips/if-else-in-JSX.html +++ b/tips/if-else-in-JSX.html @@ -426,8 +426,6 @@ Next → - -
    diff --git a/tips/initial-ajax.html b/tips/initial-ajax.html index 6705fbd776..96d0e6754c 100644 --- a/tips/initial-ajax.html +++ b/tips/initial-ajax.html @@ -409,7 +409,7 @@ $.get(this.props.source, function(result) { var lastGist = result[0]; this.setState({ - username: lastGist.user.login, + username: lastGist.owner.login, lastGistUrl: lastGist.html_url }); }.bind(this)); @@ -439,8 +439,6 @@ Next → - -
    diff --git a/tips/inline-styles.html b/tips/inline-styles.html index 8460e1daf3..799ffea46e 100644 --- a/tips/inline-styles.html +++ b/tips/inline-styles.html @@ -414,8 +414,6 @@ Next → - -
    diff --git a/tips/introduction.html b/tips/introduction.html index 8eeccdfc0b..92635531fa 100644 --- a/tips/introduction.html +++ b/tips/introduction.html @@ -403,8 +403,6 @@ Next → - -
    diff --git a/tips/maximum-number-of-jsx-root-nodes.html b/tips/maximum-number-of-jsx-root-nodes.html index 27f65b0a22..2b9f5b8213 100644 --- a/tips/maximum-number-of-jsx-root-nodes.html +++ b/tips/maximum-number-of-jsx-root-nodes.html @@ -405,8 +405,6 @@ Next → - -
    diff --git a/tips/props-in-getInitialState-as-anti-pattern.html b/tips/props-in-getInitialState-as-anti-pattern.html index c72cff3557..3aeb013d01 100644 --- a/tips/props-in-getInitialState-as-anti-pattern.html +++ b/tips/props-in-getInitialState-as-anti-pattern.html @@ -458,8 +458,6 @@ Next → - -
    diff --git a/tips/references-to-components.html b/tips/references-to-components.html index bcfbc8f6c6..9a458542aa 100644 --- a/tips/references-to-components.html +++ b/tips/references-to-components.html @@ -419,8 +419,6 @@ - -
    diff --git a/tips/self-closing-tag.html b/tips/self-closing-tag.html index 5d0d4dc5f7..11d2a86912 100644 --- a/tips/self-closing-tag.html +++ b/tips/self-closing-tag.html @@ -409,8 +409,6 @@ Next → - -
    diff --git a/tips/style-props-value-px.html b/tips/style-props-value-px.html index 7c24ba8635..e0830cb298 100644 --- a/tips/style-props-value-px.html +++ b/tips/style-props-value-px.html @@ -428,8 +428,6 @@ Next → - -