Skip to content

Commit 77fa76a

Browse files
tryzniakmontogeek
authored andcommitted
fix(site) Use React Refs instead of DOM queries (#2240)
Hello. This PR replaces some dom queries with react refs. Just an idiomatic thing, nothing too big :)
1 parent 1aeead9 commit 77fa76a

File tree

1 file changed

+5
-8
lines changed

1 file changed

+5
-8
lines changed

src/components/Navigation/Navigation.jsx

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export default class Navigation extends React.Component {
1111
let { pageUrl = '' } = this.props;
1212

1313
return (
14-
<header className="navigation">
14+
<header className="navigation" ref={ container => this.container = container }>
1515
<Container className="navigation__inner">
1616
<div className="navigation__mobile" onClick={ this._toggleSidebar }>
1717
<i className="icon-menu" />
@@ -43,6 +43,7 @@ export default class Navigation extends React.Component {
4343
type="search"
4444
className="navigation__search-input"
4545
placeholder="Search documentation…"
46+
ref={ searchInput => this.searchInput = searchInput }
4647
onBlur={ this._toggleSearch.bind(this) } />
4748
<button
4849
aria-label="Open search"
@@ -159,20 +160,16 @@ export default class Navigation extends React.Component {
159160
*
160161
*/
161162
_toggleSearch() {
162-
let container = document.querySelector('.navigation');
163-
let input = document.querySelector('.navigation__search-input');
164-
let state = container.classList.toggle('navigation--search-mode');
163+
let state = this.container.classList.toggle('navigation--search-mode');
165164

166-
if ( state === true ) input.focus();
165+
if ( state === true ) this.searchInput.focus();
167166
}
168167

169168
/**
170169
* Expand the search input
171170
*
172171
*/
173172
_openSearch() {
174-
let container = document.querySelector('.navigation');
175-
176-
container.classList.add('navigation--search-mode');
173+
this.container.classList.add('navigation--search-mode');
177174
}
178175
}

0 commit comments

Comments
 (0)