diff options
author | Noah Loomans <noahloomans@gmail.com> | 2018-02-09 17:04:12 +0100 |
---|---|---|
committer | Noah Loomans <noahloomans@gmail.com> | 2018-02-09 17:04:12 +0100 |
commit | 6926de1108b1a084e133d5f8363f080d7c20a99f (patch) | |
tree | ce27ac5a024e6a0e342037d3ea03ddf7ca6c3c82 /src/client/react/components/presentational/Result.js | |
parent | 8d5bccc8984618c9282e9592882835819306fa07 (diff) |
Use classes instead of stateless functions for Components
Diffstat (limited to 'src/client/react/components/presentational/Result.js')
-rw-r--r-- | src/client/react/components/presentational/Result.js | 42 |
1 files changed, 23 insertions, 19 deletions
diff --git a/src/client/react/components/presentational/Result.js b/src/client/react/components/presentational/Result.js index 6d39a80..a30cf52 100644 --- a/src/client/react/components/presentational/Result.js +++ b/src/client/react/components/presentational/Result.js @@ -5,25 +5,29 @@ import users from '../../users'; import IconFromUserType from './IconFromUserType'; -const Result = ({ userId, isSelected, onClick }) => ( - // eslint-disable-next-line - <div - className={classnames('search__result', { - 'search__result--selected': isSelected, - })} - onClick={onClick} - > - <div className="search__icon-wrapper"> - <IconFromUserType userType={users.byId[userId].type} /> - </div> - <div className="search__result__text">{users.byId[userId].value}</div> - </div> -); +class Result extends React.Component { + static propTypes = { + userId: PropTypes.string.isRequired, + isSelected: PropTypes.bool.isRequired, + onClick: PropTypes.func.isRequired, + }; -Result.propTypes = { - userId: PropTypes.string.isRequired, - isSelected: PropTypes.bool.isRequired, - onClick: PropTypes.func.isRequired, -}; + render() { + return ( + // eslint-disable-next-line + <div + className={classnames('search__result', { + 'search__result--selected': this.props.isSelected, + })} + onClick={this.props.onClick} + > + <div className="search__icon-wrapper"> + <IconFromUserType userType={users.byId[this.props.userId].type} /> + </div> + <div className="search__result__text">{users.byId[this.props.userId].value}</div> + </div> + ); + } +} export default Result; |