aboutsummaryrefslogtreecommitdiff
path: root/vnext/src/components/Chat.js
diff options
context:
space:
mode:
Diffstat (limited to 'vnext/src/components/Chat.js')
-rw-r--r--vnext/src/components/Chat.js12
1 files changed, 6 insertions, 6 deletions
diff --git a/vnext/src/components/Chat.js b/vnext/src/components/Chat.js
index 8c1e2311..a1254a10 100644
--- a/vnext/src/components/Chat.js
+++ b/vnext/src/components/Chat.js
@@ -1,4 +1,4 @@
-import React, { useEffect, useState } from 'react';
+import React, { useEffect, useState, useCallback } from 'react';
import PropTypes from 'prop-types';
import ReactRouterPropTypes from 'react-router-prop-types';
import { UserType } from './Types';
@@ -25,9 +25,9 @@ export default function Chat(props) {
props.connection.removeEventListener('msg', onMessage);
}
};
- }, [props.connection.readyState]);
+ }, [props.connection, onMessage, loadChat, props.match.params.user]);
- let loadChat = (uname) => {
+ let loadChat = useCallback((uname) => {
const { hash } = props.visitor;
setChats([]);
if (hash && uname) {
@@ -36,16 +36,16 @@ export default function Chat(props) {
setChats(response.data);
});
}
- };
+ }, [props.visitor]);
- let onMessage = (json) => {
+ let onMessage = useCallback((json) => {
const msg = JSON.parse(json.data);
if (msg.user.uname === props.match.params.user) {
setChats((oldChat) => {
return [msg, ...oldChat];
});
}
- };
+ }, [props.match.params.user]);
let onSend = (template) => {
pm(template.to.uname, template.body)