Skip to content
This repository was archived by the owner on Apr 19, 2021. It is now read-only.

Commit eca2312

Browse files
committed
refactor: navigation code.
1 parent 16d607b commit eca2312

File tree

1 file changed

+7
-14
lines changed

1 file changed

+7
-14
lines changed

src/components/Nav.tsx

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from 'react'
1+
import React, { useState } from 'react'
22

33
import styled from '@emotion/styled'
44
import { Link } from 'gatsby'
@@ -212,20 +212,14 @@ const StyledNav = styled.nav`
212212
}
213213
`
214214

215-
class Nav extends React.Component {
215+
const Nav = () => {
216+
const [isNavRendered, setIsNavRendered] = useState<boolean>(false)
216217

217-
state = {
218-
isNavRendered: false,
218+
const toggleNavigation = () => {
219+
setIsNavRendered(!isNavRendered)
219220
}
220221

221-
toggleNavigation = () => {
222-
this.setState({ isNavRendered: !this.state.isNavRendered })
223-
}
224-
225-
render() {
226-
const { isNavRendered } = this.state
227-
228-
return (
222+
return (
229223
<div className="grey-container" style={{ zIndex: 9999 }}>
230224
<div className="row">
231225
<StyledNav role="navigation" className="nav">
@@ -237,7 +231,7 @@ class Nav extends React.Component {
237231
<button
238232
className="nav__btn"
239233
aria-label={isNavRendered ? "Hide the Navigation Items" : "Show the Navigation Items"}
240-
onClick={this.toggleNavigation}
234+
onClick={toggleNavigation}
241235
>
242236
<svg
243237
xmlns="http://www.w3.org/2000/svg" viewBox="0 0 31.112 31.112"
@@ -295,7 +289,6 @@ class Nav extends React.Component {
295289
</div>
296290
</div>
297291
)
298-
}
299292
}
300293

301294
export default Nav

0 commit comments

Comments
 (0)