Update the navbar to a pure component

This commit is contained in:
Grégoire Delattre 2017-05-21 20:35:40 +02:00
parent 94468167cb
commit 7ff88c531f

View File

@ -2,7 +2,7 @@ import React from 'react'
import { Nav, Navbar, NavItem, NavDropdown, MenuItem } from 'react-bootstrap' import { Nav, Navbar, NavItem, NavDropdown, MenuItem } from 'react-bootstrap'
import { LinkContainer } from 'react-router-bootstrap' import { LinkContainer } from 'react-router-bootstrap'
export default class NavBar extends React.Component { export default class NavBar extends React.PureComponent {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = { this.state = {
@ -11,25 +11,6 @@ export default class NavBar extends React.Component {
displayShowsSearch: this.shouldDisplayShowsSearch(props.router), displayShowsSearch: this.shouldDisplayShowsSearch(props.router),
}; };
} }
shouldComponentUpdate(nextProps, nextState) {
if (nextProps.username !== this.props.username) {
return true;
}
if (nextProps.torrentsCount !== this.props.torrentsCount) {
return true;
}
if (nextState.displayMoviesSearch !== this.state.displayMoviesSearch) {
return true;
}
if (nextState.displayShowsSearch !== this.state.displayShowsSearch) {
return true;
}
if (nextState.userLoggedIn !== this.state.userLoggedIn) {
return true;
}
return false;
}
componentWillReceiveProps(nextProps) { componentWillReceiveProps(nextProps) {
// Update the state based on the next props // Update the state based on the next props
const shouldDisplayMoviesSearch = this.shouldDisplayMoviesSearch(nextProps.router); const shouldDisplayMoviesSearch = this.shouldDisplayMoviesSearch(nextProps.router);