Skip to content

Commit

Permalink
Upgrading react and fixing performance issues
Browse files Browse the repository at this point in the history
  • Loading branch information
larixk committed Mar 17, 2021
1 parent 2dcfd07 commit 778326f
Show file tree
Hide file tree
Showing 6 changed files with 40 additions and 82 deletions.
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
},
"dependencies": {
"left-pad": "^1.1.3",
"react": "^15.4.2",
"react-dom": "^15.4.2"
"react": "^17.0.0",
"react-dom": "^17.0.0"
},
"scripts": {
"start": "react-scripts start",
Expand Down
2 changes: 0 additions & 2 deletions src/components/App.css
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,6 @@ svg {
top: 50%;
left: 50%;
border-radius: 10%;
animation: plop .2s;
animation-fill-mode: backwards;
}

.seat.hovered .seat-color {
Expand Down
31 changes: 15 additions & 16 deletions src/components/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,20 @@ class App extends Component {
};
}

handleClickFinder(parties) {
this.setState(
{
active: parties
},
() => {
window.location.hash = this.state.active
.map(party => party.name)
.join("+");
}
);
window.scrollTo(0, 0);
}

toggleParty(party) {
this.setState(
{
Expand Down Expand Up @@ -75,7 +89,6 @@ class App extends Component {
hovered={this.state.hovered === party}
key={party.name + "-" + i}
backgroundColor={party.color}
animationDelay={i * 0.01 + "s"}
/>
))
),
Expand Down Expand Up @@ -112,7 +125,6 @@ class App extends Component {
<Seat
key={"required-" + i}
backgroundColor="#eee"
animationDelay={i * 0.01 + "s"}
disabled={true}
/>
)
Expand All @@ -124,7 +136,6 @@ class App extends Component {
<Seat
key={"required-" + (75 - activeSum - i)}
backgroundColor="#eee"
animationDelay={i * 0.01 + "s"}
disabled={true}
/>
))}
Expand Down Expand Up @@ -161,19 +172,7 @@ class App extends Component {
</div>
</div>
<Finder
onClick={parties => {
this.setState(
{
active: parties
},
() => {
window.location.hash = this.state.active
.map(party => party.name)
.join("+");
}
);
window.scrollTo(0, 0);
}}
onClick={this.handleClickFinder}
parties={parties}
/>
<Footer />
Expand Down
2 changes: 1 addition & 1 deletion src/components/Finder.js
Original file line number Diff line number Diff line change
Expand Up @@ -119,4 +119,4 @@ class Finder extends Component {
}
}

export default Finder;
export default React.memo(Finder);
3 changes: 1 addition & 2 deletions src/components/Seat.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ export default (
onMouseLeave,
hovered,
backgroundColor,
animationDelay,
onToggle
}
) => (
Expand All @@ -17,6 +16,6 @@ export default (
onMouseEnter={onMouseEnter}
onMouseLeave={onMouseLeave}
>
<div className="seat-color" style={{ animationDelay, backgroundColor }} />
<div className="seat-color" style={{ backgroundColor }} />
</button>
);
80 changes: 21 additions & 59 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1336,10 +1336,6 @@ [email protected]:
version "0.3.1"
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"

core-js@^1.0.0:
version "1.2.7"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"

core-js@^2.4.0:
version "2.4.1"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e"
Expand Down Expand Up @@ -1675,12 +1671,6 @@ encodeurl@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20"

encoding@^0.1.11:
version "0.1.12"
resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
dependencies:
iconv-lite "~0.4.13"

enhanced-resolve@~0.9.0:
version "0.9.1"
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz#4d6e689b3725f86090927ccc86cd9f1635b89e2e"
Expand Down Expand Up @@ -2062,18 +2052,6 @@ fb-watchman@^1.8.0, fb-watchman@^1.9.0:
dependencies:
bser "1.0.2"

fbjs@^0.8.1, fbjs@^0.8.4:
version "0.8.9"
resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.9.tgz#180247fbd347dcc9004517b904f865400a0c8f14"
dependencies:
core-js "^1.0.0"
isomorphic-fetch "^2.1.1"
loose-envify "^1.0.0"
object-assign "^4.1.0"
promise "^7.1.1"
setimmediate "^1.0.5"
ua-parser-js "^0.7.9"

figures@^1.3.5:
version "1.7.0"
resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
Expand Down Expand Up @@ -2480,7 +2458,7 @@ [email protected]:
version "0.0.1"
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82"

[email protected], iconv-lite@~0.4.13:
[email protected]:
version "0.4.13"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2"

Expand Down Expand Up @@ -2696,10 +2674,6 @@ is-resolvable@^1.0.0:
dependencies:
tryit "^1.0.1"

is-stream@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"

is-svg@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9"
Expand Down Expand Up @@ -2732,13 +2706,6 @@ isobject@^2.0.0:
dependencies:
isarray "1.0.0"

isomorphic-fetch@^2.1.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
dependencies:
node-fetch "^1.0.1"
whatwg-fetch ">=0.10.0"

isstream@~0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
Expand Down Expand Up @@ -3433,13 +3400,6 @@ node-emoji@^1.4.1:
dependencies:
string.prototype.codepointat "^0.2.0"

node-fetch@^1.0.1:
version "1.6.3"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04"
dependencies:
encoding "^0.1.11"
is-stream "^1.0.1"

node-int64@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
Expand Down Expand Up @@ -3561,7 +3521,7 @@ oauth-sign@~0.8.1:
version "0.8.2"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"

[email protected], object-assign@^4.0.1, object-assign@^4.1.0:
[email protected], object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"

Expand Down Expand Up @@ -4063,7 +4023,7 @@ progress@^1.1.8:
version "1.1.8"
resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be"

[email protected], promise@^7.1.1:
[email protected]:
version "7.1.1"
resolved "https://registry.yarnpkg.com/promise/-/promise-7.1.1.tgz#489654c692616b8aa55b0724fa809bb7db49c5bf"
dependencies:
Expand Down Expand Up @@ -4151,13 +4111,13 @@ react-dev-utils@^0.5.1:
sockjs-client "1.0.1"
strip-ansi "3.0.1"

react-dom@^15.4.2:
version "15.4.2"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.4.2.tgz#015363f05b0a1fd52ae9efdd3a0060d90695208f"
react-dom@^17.0.0:
version "17.0.1"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.1.tgz#1de2560474ec9f0e334285662ede52dbc5426fc6"
dependencies:
fbjs "^0.8.1"
loose-envify "^1.1.0"
object-assign "^4.1.0"
object-assign "^4.1.1"
scheduler "^0.20.1"

[email protected]:
version "0.9.3"
Expand Down Expand Up @@ -4208,13 +4168,12 @@ [email protected]:
optionalDependencies:
fsevents "1.0.17"

react@^15.4.2:
version "15.4.2"
resolved "https://registry.yarnpkg.com/react/-/react-15.4.2.tgz#41f7991b26185392ba9bae96c8889e7e018397ef"
react@^17.0.0:
version "17.0.1"
resolved "https://registry.yarnpkg.com/react/-/react-17.0.1.tgz#6e0600416bd57574e3f86d92edba3d9008726127"
dependencies:
fbjs "^0.8.4"
loose-envify "^1.1.0"
object-assign "^4.1.0"
object-assign "^4.1.1"

read-pkg-up@^1.0.1:
version "1.0.1"
Expand Down Expand Up @@ -4500,6 +4459,13 @@ sax@^1.2.1, sax@~1.2.1:
version "1.2.2"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.2.tgz#fd8631a23bc7826bef5d871bdb87378c95647828"

scheduler@^0.20.1:
version "0.20.1"
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.1.tgz#da0b907e24026b01181ecbc75efdc7f27b5a000c"
dependencies:
loose-envify "^1.1.0"
object-assign "^4.1.1"

"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.3.0, semver@~5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
Expand Down Expand Up @@ -4551,7 +4517,7 @@ set-immediate-shim@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"

setimmediate@^1.0.4, setimmediate@^1.0.5:
setimmediate@^1.0.4:
version "1.0.5"
resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"

Expand Down Expand Up @@ -4926,10 +4892,6 @@ typedarray@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"

ua-parser-js@^0.7.9:
version "0.7.12"
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb"

[email protected], uglify-js@^2.6:
version "2.8.5"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.5.tgz#ae9f5b143f4183d99a1dabb350e243fdc06641ed"
Expand Down Expand Up @@ -5179,7 +5141,7 @@ whatwg-encoding@^1.0.1:
dependencies:
iconv-lite "0.4.13"

[email protected], whatwg-fetch@>=0.10.0:
[email protected]:
version "2.0.2"
resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.2.tgz#fe294d1d89e36c5be8b3195057f2e4bc74fc980e"

Expand Down

0 comments on commit 778326f

Please sign in to comment.