@samitouri / QOS-React-2 / commits / d440380719

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"