Skip to content

Commit 1f43487

Browse files
authored
Update React to 16.5 and rebuild example app (facebook#1160)
* Updated react and react-dom * Added some basic traced interaction to example test harness * Rebuilt example app (for plain shell) with updated react
1 parent 0b9fc7f commit 1f43487

File tree

5 files changed

+115
-2047
lines changed

5 files changed

+115
-2047
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@
3131
"object-assign": "4.0.1",
3232
"prop-types": "^15.6.1",
3333
"raw-loader": "^0.5.1",
34-
"react": "^16.4.1",
34+
"react": "^16.5.2",
3535
"react-color": "^2.11.7",
36-
"react-dom": "^16.4.1",
36+
"react-dom": "^16.5.2",
3737
"react-portal": "^3.1.0",
3838
"react-virtualized-auto-sizer": "^1.0.2",
3939
"react-window": "^1.1.1",

test/example/build/sink.js

Lines changed: 28 additions & 1006 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/example/build/target.js

Lines changed: 30 additions & 1008 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/example/target.js

Lines changed: 31 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,14 @@
1111
*/
1212
'use strict';
1313

14-
var React = require('react');
15-
var ReactDOM = require('react-dom');
16-
var Immutable = require('immutable');
17-
var assign = require('object-assign');
18-
var guid = require('../../utils/guid');
14+
const React = require('react');
15+
const ReactDOM = require('react-dom');
16+
const ScheduleTracing = require('schedule/tracing');
17+
const Immutable = require('immutable');
18+
const assign = require('object-assign');
19+
const guid = require('../../utils/guid');
20+
21+
const { unstable_trace: trace } = ScheduleTracing;
1922

2023
class Todos extends React.Component {
2124
constructor(props) {
@@ -46,25 +49,29 @@ class Todos extends React.Component {
4649
if (!text.trim().length) {
4750
return;
4851
}
49-
this.setState({
50-
todos: this.state.todos.concat([{
51-
title: text,
52-
completed: false,
53-
id: this._nextid++,
54-
}]),
55-
});
52+
trace(`Add "${text}"`, performance.now(), () =>
53+
this.setState({
54+
todos: this.state.todos.concat([{
55+
title: text,
56+
completed: false,
57+
id: this._nextid++,
58+
}]),
59+
}));
5660
}
5761

5862
toggleComplete(id, completed) {
5963
var todos = this.state.todos.slice();
64+
let text;
6065
todos.some(item => {
6166
if (item.id === id) {
6267
item.completed = completed;
68+
text = item.text;
6369
return true;
6470
}
6571
return false;
6672
});
67-
this.setState({todos});
73+
trace(`Toggle "${text}" ${completed ? 'complete' : 'incomplete'}`, performance.now(), () =>
74+
this.setState({todos}));
6875
}
6976

7077
sort() {
@@ -75,13 +82,15 @@ class Todos extends React.Component {
7582
}
7683
return a.title > b.title ? 1 : -1;
7784
});
78-
this.setState({todos});
85+
trace('Sorting items', performance.now(), () =>
86+
this.setState({todos}));
7987
}
8088

8189
changeFilter(val) {
82-
this.setState({
83-
filter: val,
84-
});
90+
trace(`Filter by "${val}"`, performance.now(), () =>
91+
this.setState({
92+
filter: val,
93+
}));
8594
}
8695

8796
render() {
@@ -519,6 +528,8 @@ class Target extends React.Component {
519528
}
520529
}
521530

522-
var node = document.createElement('div');
523-
document.body.appendChild(node);
524-
ReactDOM.render(<Wrap />, node);
531+
trace('initial render', performance.now(), () => {
532+
var node = document.createElement('div');
533+
document.body.appendChild(node);
534+
ReactDOM.render(<Wrap />, node);
535+
});

yarn.lock

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5575,14 +5575,21 @@ prop-types@^15.5.4, prop-types@^15.5.8:
55755575
fbjs "^0.8.9"
55765576
loose-envify "^1.3.1"
55775577

5578-
prop-types@^15.6.0, prop-types@^15.6.1:
5578+
prop-types@^15.6.1:
55795579
version "15.6.1"
55805580
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.1.tgz#36644453564255ddda391191fb3a125cbdf654ca"
55815581
dependencies:
55825582
fbjs "^0.8.16"
55835583
loose-envify "^1.3.1"
55845584
object-assign "^4.1.1"
55855585

5586+
prop-types@^15.6.2:
5587+
version "15.6.2"
5588+
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz#05d5ca77b4453e985d60fc7ff8c859094a497102"
5589+
dependencies:
5590+
loose-envify "^1.3.1"
5591+
object-assign "^4.1.1"
5592+
55865593
prr@~0.0.0:
55875594
version "0.0.0"
55885595
resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a"
@@ -5695,14 +5702,14 @@ react-color@^2.11.7:
56955702
reactcss "^1.2.0"
56965703
tinycolor2 "^1.1.2"
56975704

5698-
react-dom@^16.4.1:
5699-
version "16.4.1"
5700-
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.4.1.tgz#7f8b0223b3a5fbe205116c56deb85de32685dad6"
5705+
react-dom@^16.5.2:
5706+
version "16.5.2"
5707+
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.5.2.tgz#b69ee47aa20bab5327b2b9d7c1fe2a30f2cfa9d7"
57015708
dependencies:
5702-
fbjs "^0.8.16"
57035709
loose-envify "^1.1.0"
57045710
object-assign "^4.1.1"
5705-
prop-types "^15.6.0"
5711+
prop-types "^15.6.2"
5712+
schedule "^0.5.0"
57065713

57075714
react-portal@^3.1.0:
57085715
version "3.1.0"
@@ -5720,14 +5727,14 @@ react-window@^1.1.1:
57205727
dependencies:
57215728
memoize-one "^3.1.1"
57225729

5723-
react@^16.4.1:
5724-
version "16.4.1"
5725-
resolved "https://registry.yarnpkg.com/react/-/react-16.4.1.tgz#de51ba5764b5dbcd1f9079037b862bd26b82fe32"
5730+
react@^16.5.2:
5731+
version "16.5.2"
5732+
resolved "https://registry.yarnpkg.com/react/-/react-16.5.2.tgz#19f6b444ed139baa45609eee6dc3d318b3895d42"
57265733
dependencies:
5727-
fbjs "^0.8.16"
57285734
loose-envify "^1.1.0"
57295735
object-assign "^4.1.1"
5730-
prop-types "^15.6.0"
5736+
prop-types "^15.6.2"
5737+
schedule "^0.5.0"
57315738

57325739
reactcss@^1.2.0:
57335740
version "1.2.2"
@@ -6179,6 +6186,12 @@ sax@^1.2.4:
61796186
version "1.2.4"
61806187
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
61816188

6189+
schedule@^0.5.0:
6190+
version "0.5.0"
6191+
resolved "https://registry.yarnpkg.com/schedule/-/schedule-0.5.0.tgz#c128fffa0b402488b08b55ae74bb9df55cc29cc8"
6192+
dependencies:
6193+
object-assign "^4.1.1"
6194+
61826195
semver-diff@^2.0.0:
61836196
version "2.1.0"
61846197
resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36"

0 commit comments

Comments
 (0)