use props.location instead of window

This commit is contained in:
Daniel Ternyak 2017-06-18 14:56:12 -05:00
parent df3ddd7351
commit 8e530fe476
3 changed files with 12 additions and 3 deletions

View File

@ -1,6 +1,7 @@
import React, {Component} from 'react'; import React, {Component} from 'react';
import {Link} from 'react-router'; import {Link} from 'react-router';
import translate from 'translations'; import translate from 'translations';
import PropTypes from 'prop-types';
const tabs = [ const tabs = [
{ {
@ -40,6 +41,10 @@ export default class TabsOptions extends Component {
} }
} }
static propTypes = {
location: PropTypes.object
};
tabClick() { tabClick() {
} }
@ -50,6 +55,7 @@ export default class TabsOptions extends Component {
} }
render() { render() {
const {location} = this.props;
return ( return (
<div> <div>
<nav role='navigation' aria-label='main navigation' className='container nav-container overflowing'> <nav role='navigation' aria-label='main navigation' className='container nav-container overflowing'>
@ -63,7 +69,7 @@ export default class TabsOptions extends Component {
{ {
tabs.map((object, i) => { tabs.map((object, i) => {
// if the window pathname is the same or similar to the tab objects name, set the active toggle // if the window pathname is the same or similar to the tab objects name, set the active toggle
const activeOrNot = (window.location.pathname === object.link || window.location.pathname.substring(1) === object.link) ? 'active' : ''; const activeOrNot = (location.pathname === object.link || location.pathname.substring(1) === object.link) ? 'active' : '';
return ( return (
<li className={`nav-item ${activeOrNot}`} <li className={`nav-item ${activeOrNot}`}
key={i} onClick={this.tabClick(i)}> key={i} onClick={this.tabClick(i)}>

View File

@ -8,6 +8,8 @@ import { languages, nodeList } from '../../config/data';
export default class Header extends Component { export default class Header extends Component {
static propTypes = { static propTypes = {
location: PropTypes.object,
// Language DropDown // Language DropDown
changeLanguage: PropTypes.func, changeLanguage: PropTypes.func,
languageSelection: PropTypes.object, languageSelection: PropTypes.object,
@ -76,7 +78,7 @@ export default class Header extends Component {
</section> </section>
</section> </section>
<TabsOptions {...{}} /> <TabsOptions {...this.props} />
</div> </div>
); );

View File

@ -43,6 +43,7 @@ class App extends Component {
} = this.props; } = this.props;
let headerProps = { let headerProps = {
location,
changeLanguage, changeLanguage,
languageSelection, languageSelection,