Upgraded to canary with priority level info
Brian Vaughn committed
May 20, 2019 at 09:54 UTC
d44038071922c2fbde0d654411af146c71596e67
4 files changed
+66
-54
package.json
+5
-5
@@ -132,16 +132,16 @@
132
"opener": "^1.5.1",
133
"prettier": "^1.16.4",
134
"prop-types": "^15.6.2",
135
- "react": "^0.0.0-6da04b5d8",
135
+ "react": "^0.0.0-50b50c26f",
136
"react-color": "^2.11.7",
137
- "react-dom": "^0.0.0-6da04b5d8",
138
- "react-is": "^0.0.0-6da04b5d8",
139
- "react-test-renderer": "^0.0.0-6da04b5d8",
137
+ "react-dom": "^0.0.0-50b50c26f",
138
+ "react-is": "^0.0.0-50b50c26f",
139
+ "react-test-renderer": "^0.0.0-50b50c26f",
140
"react-virtualized-auto-sizer": "^1.0.2",
141
"react-window": "^1.8.0",
142
"request-promise": "^4.2.4",
143
"rimraf": "^2.6.3",
144
- "scheduler": "^0.0.0-6da04b5d8",
144
+ "scheduler": "^0.0.0-50b50c26f",
145
"semver": "^5.5.1",
146
"style-loader": "^0.23.1",
147
"web-ext": "^3.0.0",
shells/dev/app/ElementTypes/index.js
+7
-11
@@ -6,8 +6,6 @@ import React, {
6
lazy,
7
memo,
8
Component,
9
- // $FlowFixMe Flow thinks ConcurrentMode is stable
10
- unstable_ConcurrentMode as ConcurrentMode,
9
Fragment,
10
// $FlowFixMe Flow doesn't know about the Profiler import yet
11
Profiler,
@@ -48,15 +46,13 @@ export default function ElementTypes() {
46
<Context.Consumer>{value => null}</Context.Consumer>
47
</Context.Provider>
48
<StrictMode>
51
- <ConcurrentMode>
52
- <Suspense fallback={<div>Loading...</div>}>
53
- <ClassComponent />
54
- <FunctionComponent />
55
- <MemoFunctionComponent />
56
- <ForwardRefComponent />
57
- <LazyComponent />
58
- </Suspense>
59
- </ConcurrentMode>
49
+ <Suspense fallback={<div>Loading...</div>}>
50
+ <ClassComponent />
51
+ <FunctionComponent />
52
+ <MemoFunctionComponent />
53
+ <ForwardRefComponent />
54
+ <LazyComponent />
55
+ </Suspense>
56
</StrictMode>
57
</Fragment>
58
</Profiler>
shells/dev/app/PriorityLevels/index.js
+31
-14
@@ -1,29 +1,46 @@
1
// @flow
2
3
import React, { Fragment, useCallback, useState } from 'react';
4
-import { unstable_next as next } from 'scheduler';
4
+import {
5
+ unstable_IdlePriority as IdlePriority,
6
+ unstable_LowPriority as LowPriority,
7
+ unstable_runWithPriority as runWithPriority,
8
+} from 'scheduler';
9
10
export default function PriorityLevels() {
7
- const [count, setCount] = useState(0);
11
+ const [defaultPriority, setDefaultPriority] = useState<boolean>(false);
12
+ const [idlePriority, setIdlePriority] = useState<boolean>(false);
13
+ const [normalPriority, setLowPriority] = useState<boolean>(false);
14
+
15
+ const resetSequence = useCallback(() => {
16
+ setDefaultPriority(false);
17
+ setLowPriority(false);
18
+ setIdlePriority(false);
19
+ }, []);
20
21
const startSequence = useCallback(() => {
10
- setCount(1);
11
- next(() => setCount(2));
22
+ setDefaultPriority(true);
23
+ runWithPriority(LowPriority, () => setLowPriority(true));
24
+ runWithPriority(IdlePriority, () => setIdlePriority(true));
25
}, []);
26
27
+ const labels = [];
28
+ if (defaultPriority) {
29
+ labels.push('(default priority)');
30
+ }
31
+ if (normalPriority) {
32
+ labels.push('Low Priority');
33
+ }
34
+ if (idlePriority) {
35
+ labels.push('Idle Priority');
36
+ }
37
+
38
return (
39
<Fragment>
40
<h1>Priority Levels</h1>
17
- <button onClick={startSequence}>start sequence</button>
18
- {count >= 1 && <Text>One</Text>}
19
- {count >= 2 && <Text>Two</Text>}
20
- {count >= 2 && (
21
- <div hidden>
22
- <Text>Three</Text>
23
- </div>
24
- )}
41
+ <button onClick={resetSequence}>Reset</button>
42
+ <button onClick={startSequence}>Start sequence</button>
43
+ <span>{labels.join(', ')}</span>
44
</Fragment>
45
);
46
}
28
-
29
-const Text = ({ children }) => children;
yarn.lock
+23
-24
@@ -9748,20 +9748,20 @@ react-color@^2.11.7:
9748
reactcss "^1.2.0"
9749
tinycolor2 "^1.4.1"
9750
9751
-react-dom@^0.0.0-6da04b5d8:
9752
- version "0.0.0-6da04b5d8"
9753
- resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-0.0.0-6da04b5d8.tgz#ee78e45a40771560c756b8fc7f1fa213f2179ebe"
9754
- integrity sha512-6oyfkucrweqCB5XyLsfEnPSWhvkFnttutkU9uUQovLAljuazgpAjvBy6MBGSewKptqch2OTNwopqvR3QUMD8AQ==
9751
+react-dom@^0.0.0-50b50c26f:
9752
+ version "0.0.0-50b50c26f"
9753
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-0.0.0-50b50c26f.tgz#3cd8da0f2276ed4b7a926e1807d2675b2eb40227"
9754
+ integrity sha512-da9qleWDdBdAguEIDvvpFE0iuS8hfcCSGgZTYKRQMlSh5A94Ktr1otL4rgDTFH+bNsOwz3XrvEBYRA6WaE9xzQ==
9755
dependencies:
9756
loose-envify "^1.1.0"
9757
object-assign "^4.1.1"
9758
prop-types "^15.6.2"
9759
- scheduler "0.0.0-6da04b5d8"
9759
+ scheduler "0.0.0-50b50c26f"
9760
9761
-react-is@0.0.0-6da04b5d8, react-is@^0.0.0-6da04b5d8:
9762
- version "0.0.0-6da04b5d8"
9763
- resolved "https://registry.yarnpkg.com/react-is/-/react-is-0.0.0-6da04b5d8.tgz#ded1f02e9f1e2b8456812d0d45c341d70b7bf7db"
9764
- integrity sha512-+Df3meqx+XUir+3dCqiHNAHruwmOAgXVp3TYmlUvgtPNBu+LF0OdchTMZ/xMUok1gYVoe4l/xhfs9CTEPkWt3g==
9761
+react-is@0.0.0-50b50c26f, react-is@^0.0.0-50b50c26f:
9762
+ version "0.0.0-50b50c26f"
9763
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-0.0.0-50b50c26f.tgz#c4003ffffef9bd2b287979f9041a23d12a607bf2"
9764
+ integrity sha512-9Y6ZvdOVmOxXs9mGuFy6eXHBww8RJCtJAh94b1hkbjhnW8Mb5ADScDoxJBVxcNuX9hvDkhENspC96ZQK1NIv3g==
9765
9766
react-is@^16.8.1:
9767
version "16.8.3"
@@ -9773,15 +9773,15 @@ react-is@^16.8.4:
9773
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.4.tgz#90f336a68c3a29a096a3d648ab80e87ec61482a2"
9774
integrity sha512-PVadd+WaUDOAciICm/J1waJaSvgq+4rHE/K70j0PFqKhkTBsPv/82UGQJNXAngz1fOQLLxI6z1sEDmJDQhCTAA==
9775
9776
-react-test-renderer@^0.0.0-6da04b5d8:
9777
- version "0.0.0-6da04b5d8"
9778
- resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-0.0.0-6da04b5d8.tgz#01bed04c5a4cf22339f0ae3b23f89bb45e9a8f2a"
9779
- integrity sha512-yDt5RPDXLZXTqlWS0jXMJ1IyS1e/UZXSr0L8bG0UCsna4T7A3HIYR2zChlydGXsxjGMZntKqEfm27hUhFgC06Q==
9776
+react-test-renderer@^0.0.0-50b50c26f:
9777
+ version "0.0.0-50b50c26f"
9778
+ resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-0.0.0-50b50c26f.tgz#1a85cf9073ef5a932d03bee36fcfd9bf15aeae2c"
9779
+ integrity sha512-gWc4L+mFIUCjvBpafR88n4/i/oaKHD6rzVyZY+XBou9MNtr2rRkjePOhBVsiYlCwkj+zZi6klV9b05TMzftosA==
9780
dependencies:
9781
object-assign "^4.1.1"
9782
prop-types "^15.6.2"
9783
- react-is "0.0.0-6da04b5d8"
9784
- scheduler "0.0.0-6da04b5d8"
9783
+ react-is "0.0.0-50b50c26f"
9784
+ scheduler "0.0.0-50b50c26f"
9785
9786
react-virtualized-auto-sizer@^1.0.2:
9787
version "1.0.2"
@@ -9796,15 +9796,14 @@ react-window@^1.8.0:
9796
"@babel/runtime" "^7.0.0"
9797
memoize-one ">=3.1.1 <6"
9798
9799
-react@^0.0.0-6da04b5d8:
9800
- version "0.0.0-6da04b5d8"
9801
- resolved "https://registry.yarnpkg.com/react/-/react-0.0.0-6da04b5d8.tgz#583d81f73b26771da41170a5042a5ab0bdcfe37a"
9802
- integrity sha512-8hXBHwDCKxSVFqj5Kb4OskZz7//2fx2IpUnYyukYV8qyAHlXr0qUl3GxwuryhdPzJHlzi776WjN0YEmEEANhYA==
9799
+react@^0.0.0-50b50c26f:
9800
+ version "0.0.0-50b50c26f"
9801
+ resolved "https://registry.yarnpkg.com/react/-/react-0.0.0-50b50c26f.tgz#b782b579ce1f5d8bd696c5e45c744714ebecb111"
9802
+ integrity sha512-jUAzS4DeWTdUZ/3kqm2T6C9OIpiAf2qdwVamCts0qzwYVni1/gUTOWK1ui0J+eaRzKxrIEzVvmCMxFd35lP/pA==
9803
dependencies:
9804
loose-envify "^1.1.0"
9805
object-assign "^4.1.1"
9806
prop-types "^15.6.2"
9807
- scheduler "0.0.0-6da04b5d8"
9807
9808
reactcss@^1.2.0:
9809
version "1.2.3"
@@ -10460,10 +10459,10 @@ sax@>=0.6.0, sax@^1.2.4:
10459
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
10460
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
10461
10463
-scheduler@0.0.0-6da04b5d8, scheduler@^0.0.0-6da04b5d8:
10464
- version "0.0.0-6da04b5d8"
10465
- resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.0.0-6da04b5d8.tgz#5e0ec65c2b0a7f05ffdc5522fc3a6d95b693e5c9"
10466
- integrity sha512-upTrWBZvk4IjMsC/AcRpgCwjnSQl8i78+07KmcndqWOnWp7s4wauowWXhyswP9vucLtZaN5ussFdM3d7dXcTkw==
10462
+scheduler@0.0.0-50b50c26f, scheduler@^0.0.0-50b50c26f:
10463
+ version "0.0.0-50b50c26f"
10464
+ resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.0.0-50b50c26f.tgz#09bedde1c64d7a042b557bee2dbf5faf5fd58a50"
10465
+ integrity sha512-LBN3zrP8iBdILOoYxybFtkU7j+ldZTHORKyYyVLwXuIwGQ8/Xhs5VZjNQ5R2Xru2zv3GGVpJSbd47EpDuD2EHw==
10466
dependencies:
10467
loose-envify "^1.1.0"
10468
object-assign "^4.1.1"