aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2019-04-03 01:05:21 +0300
committerGravatar Vitaly Takmazov2023-01-13 10:37:54 +0300
commitef8c38749216ba8eb5918e398d12f3e48663f56f (patch)
tree870fde4959acb74700218b9697a727791cd5fb0f
parentec77d4c2416f0cb8218c7719bf46a98066603407 (diff)
react-hooks/exhaustive-deps
-rw-r--r--vnext/.eslintrc3
-rw-r--r--vnext/src/components/Avatar.js2
-rw-r--r--vnext/src/components/UserInfo.js7
3 files changed, 7 insertions, 5 deletions
diff --git a/vnext/.eslintrc b/vnext/.eslintrc
index f7aa66d1..6d200c92 100644
--- a/vnext/.eslintrc
+++ b/vnext/.eslintrc
@@ -63,6 +63,7 @@
"jest/prefer-to-have-length": "warn",
"jest/valid-expect": "error",
- "react-hooks/rules-of-hooks": "error"
+ "react-hooks/rules-of-hooks": "error",
+ "react-hooks/exhaustive-deps": "warn"
}
}
diff --git a/vnext/src/components/Avatar.js b/vnext/src/components/Avatar.js
index 64c16ead..dc2050ce 100644
--- a/vnext/src/components/Avatar.js
+++ b/vnext/src/components/Avatar.js
@@ -27,7 +27,7 @@ function Avatar(props) {
isMounted = false;
};
}
- }, [props.user]);
+ }, [props.user, user.uid, user.uri]);
return (
<div className="Avatar" style={props.style}>
<div className="msg-avatar">
diff --git a/vnext/src/components/UserInfo.js b/vnext/src/components/UserInfo.js
index 0012d2a8..19b2f82b 100644
--- a/vnext/src/components/UserInfo.js
+++ b/vnext/src/components/UserInfo.js
@@ -16,18 +16,19 @@ let isMounted;
export default function UserInfo(props) {
const [user, setUser] = useState({ uname: props.user, uid: 0 });
+ const { onUpdate } = props;
useEffect(() => {
isMounted = true;
info(user.uname).then(response => {
if (isMounted) {
setUser(response.data);
- props.onUpdate && props.onUpdate(response.data);
+ onUpdate && onUpdate(response.data);
}
});
return () => {
isMounted = false;
};
- }, []);
+ }, [onUpdate, user.uname]);
return (
<>
<div className="userinfo">
@@ -80,7 +81,7 @@ export function UserLink(props) {
isMounted = false;
};
}
- }, [props.user]);
+ }, [props.user, user.uid, user.uri]);
return (
user.uid ?
<Link key={user.uid} to={`/${user.uname}/`} className="info-avatar"><img src={user.avatar}/>{user.uname}</Link>