diff options
author | Vitaly Takmazov | 2018-11-05 13:09:30 +0300 |
---|---|---|
committer | Vitaly Takmazov | 2023-01-13 10:37:53 +0300 |
commit | f6c6cd007535137e1b692eecb23735431882ef5b (patch) | |
tree | 0d5d06ec2d32d1e418bc9cc2b37a54dd02fee27a /vnext/src/components/Contact.js | |
parent | 94741fb25dd6c60571e78393c43355d8ddf8b64d (diff) |
Memoizing Contact, Icon and Message
Diffstat (limited to 'vnext/src/components/Contact.js')
-rw-r--r-- | vnext/src/components/Contact.js | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/vnext/src/components/Contact.js b/vnext/src/components/Contact.js index 300b650b..787acd57 100644 --- a/vnext/src/components/Contact.js +++ b/vnext/src/components/Contact.js @@ -3,20 +3,18 @@ import { UserType } from './Types'; import Avatar from './Avatar'; -export default class Contact extends React.Component { +const Contact = React.memo(({user, ...rest}) => { + return ( + <> + <Avatar user={user} link={`/pm/${user.uname}`}> + {user.unreadCount && <span className="badge">{user.unreadCount}</span>} + <div className="msg-ts">{user.lastMessageText}</div> + </Avatar> + </> + ); +}); - render() { - const { user } = this.props; - return ( - <> - <Avatar user={user} link={`/pm/${user.uname}`}> - {user.unreadCount && <span className="badge">{user.unreadCount}</span>} - <div className="msg-ts">{user.lastMessageText}</div> - </Avatar> - </> - ); - } -} +export default Contact; Contact.propTypes = { user: UserType |