Skip to content

Commit 94858d2

Browse files
authored
Merge pull request #42 from dai-shi/notify-on-update
support concurrent mode without triggering force update in provider
2 parents 4cb598c + c4b5c9f commit 94858d2

14 files changed

+218
-144
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
# Change Log
22

33
## [Unreleased]
4+
### Changed
5+
- Notify child components in update not in render (#42)
6+
- No updates on props change (breaking change in an undocumented behavior)
47

58
## [1.2.0] - 2020-02-29
69
### Changed

README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,8 +164,6 @@ You can also try them in codesandbox.io:
164164

165165
## Benchmarks
166166

167-
<img alt="benchmark result" src="https://user-images.githubusercontent.com/490574/62705335-28f34300-ba28-11e9-84ea-8f785c445ff4.png" width="600" />
168-
169167
See [this](https://github.com/dai-shi/react-tracked/issues/1#issuecomment-519509857) for details.
170168

171169
## Blogs

__tests__/e2e/__snapshots__/01_minimal.js.snap

Lines changed: 15 additions & 15 deletions
Large diffs are not rendered by default.

__tests__/e2e/__snapshots__/02_typescript.js.snap

Lines changed: 18 additions & 18 deletions
Large diffs are not rendered by default.

__tests__/e2e/__snapshots__/03_usestate.js.snap

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,71 +50,71 @@ exports[`03_usestate should work with recorded events 6`] = `
5050
5151
exports[`03_usestate should work with recorded events 7`] = `
5252
"
53-
<div id=\\"app\\"><h1>Counter</h1><div>numRendered: 22<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><div>numRendered: 24<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><h1>Person</h1><div>numRendered: 6<div>First Name:<input value=\\"a\\"></div><div>Last Name:<input value=\\"\\"></div><div>Age:<input value=\\"0\\"></div></div><div>numRendered: 8<div>First Name:<input value=\\"a\\"></div><div>Last Name:<input value=\\"\\"></div><div>Age:<input value=\\"0\\"></div></div></div>
53+
<div id=\\"app\\"><h1>Counter</h1><div>numRendered: 22<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><div>numRendered: 24<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><h1>Person</h1><div>numRendered: 26<div>First Name:<input value=\\"a\\"></div><div>Last Name:<input value=\\"\\"></div><div>Age:<input value=\\"0\\"></div></div><div>numRendered: 28<div>First Name:<input value=\\"a\\"></div><div>Last Name:<input value=\\"\\"></div><div>Age:<input value=\\"0\\"></div></div></div>
5454
<script type=\\"text/javascript\\" src=\\"main.js\\"></script>
5555
5656
"
5757
`;
5858
5959
exports[`03_usestate should work with recorded events 8`] = `
6060
"
61-
<div id=\\"app\\"><h1>Counter</h1><div>numRendered: 22<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><div>numRendered: 24<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><h1>Person</h1><div>numRendered: 10<div>First Name:<input value=\\"aa\\"></div><div>Last Name:<input value=\\"\\"></div><div>Age:<input value=\\"0\\"></div></div><div>numRendered: 12<div>First Name:<input value=\\"aa\\"></div><div>Last Name:<input value=\\"\\"></div><div>Age:<input value=\\"0\\"></div></div></div>
61+
<div id=\\"app\\"><h1>Counter</h1><div>numRendered: 22<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><div>numRendered: 24<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><h1>Person</h1><div>numRendered: 30<div>First Name:<input value=\\"aa\\"></div><div>Last Name:<input value=\\"\\"></div><div>Age:<input value=\\"0\\"></div></div><div>numRendered: 32<div>First Name:<input value=\\"aa\\"></div><div>Last Name:<input value=\\"\\"></div><div>Age:<input value=\\"0\\"></div></div></div>
6262
<script type=\\"text/javascript\\" src=\\"main.js\\"></script>
6363
6464
"
6565
`;
6666
6767
exports[`03_usestate should work with recorded events 9`] = `
6868
"
69-
<div id=\\"app\\"><h1>Counter</h1><div>numRendered: 22<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><div>numRendered: 24<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><h1>Person</h1><div>numRendered: 14<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"\\"></div><div>Age:<input value=\\"0\\"></div></div><div>numRendered: 16<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"\\"></div><div>Age:<input value=\\"0\\"></div></div></div>
69+
<div id=\\"app\\"><h1>Counter</h1><div>numRendered: 22<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><div>numRendered: 24<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><h1>Person</h1><div>numRendered: 34<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"\\"></div><div>Age:<input value=\\"0\\"></div></div><div>numRendered: 36<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"\\"></div><div>Age:<input value=\\"0\\"></div></div></div>
7070
<script type=\\"text/javascript\\" src=\\"main.js\\"></script>
7171
7272
"
7373
`;
7474
7575
exports[`03_usestate should work with recorded events 10`] = `
7676
"
77-
<div id=\\"app\\"><h1>Counter</h1><div>numRendered: 22<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><div>numRendered: 24<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><h1>Person</h1><div>numRendered: 18<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"b\\"></div><div>Age:<input value=\\"0\\"></div></div><div>numRendered: 20<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"b\\"></div><div>Age:<input value=\\"0\\"></div></div></div>
77+
<div id=\\"app\\"><h1>Counter</h1><div>numRendered: 22<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><div>numRendered: 24<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><h1>Person</h1><div>numRendered: 38<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"b\\"></div><div>Age:<input value=\\"0\\"></div></div><div>numRendered: 40<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"b\\"></div><div>Age:<input value=\\"0\\"></div></div></div>
7878
<script type=\\"text/javascript\\" src=\\"main.js\\"></script>
7979
8080
"
8181
`;
8282
8383
exports[`03_usestate should work with recorded events 11`] = `
8484
"
85-
<div id=\\"app\\"><h1>Counter</h1><div>numRendered: 22<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><div>numRendered: 24<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><h1>Person</h1><div>numRendered: 22<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"bb\\"></div><div>Age:<input value=\\"0\\"></div></div><div>numRendered: 24<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"bb\\"></div><div>Age:<input value=\\"0\\"></div></div></div>
85+
<div id=\\"app\\"><h1>Counter</h1><div>numRendered: 22<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><div>numRendered: 24<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><h1>Person</h1><div>numRendered: 42<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"bb\\"></div><div>Age:<input value=\\"0\\"></div></div><div>numRendered: 44<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"bb\\"></div><div>Age:<input value=\\"0\\"></div></div></div>
8686
<script type=\\"text/javascript\\" src=\\"main.js\\"></script>
8787
8888
"
8989
`;
9090
9191
exports[`03_usestate should work with recorded events 12`] = `
9292
"
93-
<div id=\\"app\\"><h1>Counter</h1><div>numRendered: 22<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><div>numRendered: 24<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><h1>Person</h1><div>numRendered: 26<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"bbb\\"></div><div>Age:<input value=\\"0\\"></div></div><div>numRendered: 28<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"bbb\\"></div><div>Age:<input value=\\"0\\"></div></div></div>
93+
<div id=\\"app\\"><h1>Counter</h1><div>numRendered: 22<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><div>numRendered: 24<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><h1>Person</h1><div>numRendered: 46<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"bbb\\"></div><div>Age:<input value=\\"0\\"></div></div><div>numRendered: 48<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"bbb\\"></div><div>Age:<input value=\\"0\\"></div></div></div>
9494
<script type=\\"text/javascript\\" src=\\"main.js\\"></script>
9595
9696
"
9797
`;
9898
9999
exports[`03_usestate should work with recorded events 13`] = `
100100
"
101-
<div id=\\"app\\"><h1>Counter</h1><div>numRendered: 22<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><div>numRendered: 24<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><h1>Person</h1><div>numRendered: 30<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"bbb\\"></div><div>Age:<input value=\\"1\\"></div></div><div>numRendered: 32<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"bbb\\"></div><div>Age:<input value=\\"1\\"></div></div></div>
101+
<div id=\\"app\\"><h1>Counter</h1><div>numRendered: 22<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><div>numRendered: 24<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><h1>Person</h1><div>numRendered: 50<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"bbb\\"></div><div>Age:<input value=\\"1\\"></div></div><div>numRendered: 52<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"bbb\\"></div><div>Age:<input value=\\"1\\"></div></div></div>
102102
<script type=\\"text/javascript\\" src=\\"main.js\\"></script>
103103
104104
"
105105
`;
106106
107107
exports[`03_usestate should work with recorded events 14`] = `
108108
"
109-
<div id=\\"app\\"><h1>Counter</h1><div>numRendered: 22<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><div>numRendered: 24<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><h1>Person</h1><div>numRendered: 34<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"bbb\\"></div><div>Age:<input value=\\"11\\"></div></div><div>numRendered: 36<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"bbb\\"></div><div>Age:<input value=\\"11\\"></div></div></div>
109+
<div id=\\"app\\"><h1>Counter</h1><div>numRendered: 22<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><div>numRendered: 24<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><h1>Person</h1><div>numRendered: 54<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"bbb\\"></div><div>Age:<input value=\\"11\\"></div></div><div>numRendered: 56<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"bbb\\"></div><div>Age:<input value=\\"11\\"></div></div></div>
110110
<script type=\\"text/javascript\\" src=\\"main.js\\"></script>
111111
112112
"
113113
`;
114114
115115
exports[`03_usestate should work with recorded events 15`] = `
116116
"
117-
<div id=\\"app\\"><h1>Counter</h1><div>numRendered: 22<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><div>numRendered: 24<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><h1>Person</h1><div>numRendered: 38<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"bbb\\"></div><div>Age:<input value=\\"111\\"></div></div><div>numRendered: 40<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"bbb\\"></div><div>Age:<input value=\\"111\\"></div></div></div>
117+
<div id=\\"app\\"><h1>Counter</h1><div>numRendered: 22<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><div>numRendered: 24<div><span>Count: 5</span><button type=\\"button\\">+1</button></div></div><h1>Person</h1><div>numRendered: 58<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"bbb\\"></div><div>Age:<input value=\\"111\\"></div></div><div>numRendered: 60<div>First Name:<input value=\\"aaa\\"></div><div>Last Name:<input value=\\"bbb\\"></div><div>Age:<input value=\\"111\\"></div></div></div>
118118
<script type=\\"text/javascript\\" src=\\"main.js\\"></script>
119119
120120
"

0 commit comments

Comments
 (0)