aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2019-02-20 23:36:30 +0300
committerGravatar Vitaly Takmazov2023-01-13 10:37:54 +0300
commit9013ea38ca549245442ef18aac199f9431973b60 (patch)
tree80bf933866e9ed8fcc8bf9527e243d7cb6cff93b
parent5e73cff8aa8d7b514933413fbeb9ea37d1153ecb (diff)
Refactor memo components
-rw-r--r--vnext/src/components/Avatar.js9
-rw-r--r--vnext/src/components/Button.js4
-rw-r--r--vnext/src/components/Contact.js10
-rw-r--r--vnext/src/components/Settings.js2
4 files changed, 10 insertions, 15 deletions
diff --git a/vnext/src/components/Avatar.js b/vnext/src/components/Avatar.js
index 660847f2..6e56cfc2 100644
--- a/vnext/src/components/Avatar.js
+++ b/vnext/src/components/Avatar.js
@@ -66,15 +66,6 @@ class Avatar extends React.Component {
export default Avatar;
-export const AvatarLink = React.memo(props => {
- return (
- <Link to={{ pathname: props.link || `/${props.user.uname}/` }}>
- <img src={props.user.avatar} alt={`${props.user.uname}`} />
- {props.user.uname}
- </Link>
- );
-});
-
Avatar.propTypes = {
user: UserType,
link: PropTypes.string,
diff --git a/vnext/src/components/Button.js b/vnext/src/components/Button.js
index 4152108b..18cab0a7 100644
--- a/vnext/src/components/Button.js
+++ b/vnext/src/components/Button.js
@@ -2,8 +2,10 @@ import React from 'react';
import './Button.css';
-export default function Button(props) {
+function Button(props) {
return (
<button className="Button" {...props} />
);
}
+
+export default React.memo(Button);
diff --git a/vnext/src/components/Contact.js b/vnext/src/components/Contact.js
index dd68d338..24aabe15 100644
--- a/vnext/src/components/Contact.js
+++ b/vnext/src/components/Contact.js
@@ -1,19 +1,21 @@
import React from 'react';
+import PropTypes from 'prop-types';
import { UserType } from './Types';
import Avatar from './Avatar';
-const Contact = React.memo(({ user, style, ...rest }) => {
+function Contact({ user, style, ...rest }) {
return (
<Avatar user={user} link={`/pm/${user.uname}`} style={style}>
{user.unreadCount && <span className="badge">{user.unreadCount}</span>}
<div className="msg-ts">{user.lastMessageText}</div>
</Avatar>
);
-});
+}
-export default Contact;
+export default React.memo(Contact);
Contact.propTypes = {
- user: UserType
+ user: UserType,
+ style: PropTypes.object
};
diff --git a/vnext/src/components/Settings.js b/vnext/src/components/Settings.js
index ea632073..39489aa3 100644
--- a/vnext/src/components/Settings.js
+++ b/vnext/src/components/Settings.js
@@ -10,7 +10,7 @@ import { UserType } from './Types';
import Button from './Button';
import Icon from './Icon';
import UploadButton from './UploadButton';
-import Avatar, { AvatarLink } from './Avatar';
+import Avatar from './Avatar';
export default class Settings extends React.Component {
constructor(props) {