-
카테고리
-
세부 분야
프론트엔드
-
해결 여부
미해결
한글입력시 채팅이 두개씩 가는 오류
21.08.02 15:25 작성 조회수 511
0
DM을 보내면 이모티콘과 영문은 한번씩 가지만
한글로 보낼 경우 2개씩 중복해서 보내집니다
무엇이 잘못된 걸까요?
import ChatBox from '@components/ChatBox';
import ChatList from '@components/ChatList';
import { Container, Header } from '@pages/Channel/styles';
import { IDM } from '@typings/db';
import fetcher from '@utils/fetcher';
import React, { useCallback } from 'react';
import gravatar from 'gravatar';
import { useParams } from 'react-router';
import useSWR from 'swr';
import useInput from '@hooks/useInput';
import axios from 'axios';
const DirectMessage = () => {
const { workspace, id } = useParams<{ workspace: string; id: string }>();
const { data: userData } = useSWR(`/api/workspaces/${workspace}/users/${id}`, fetcher);
const { data: myData } = useSWR('/api/users', fetcher);
const [chat, onChangeChat, setChat] = useInput('');
const {
data: chatData,
mutate: mutateChat,
revalidate,
} = useSWR<IDM[]>(`/api/workspaces/${workspace}/dms/${id}/chats?perPage=20&page=1`, fetcher);
const onSubmitForm = useCallback(
(e) => {
e.preventDefault();
console.log(chat);
if (chat?.trim()) {
axios
.post(`/api/workspaces/${workspace}/dms/${id}/chats`, {
content: chat,
})
.then(() => {
revalidate();
setChat('');
})
.catch(console.error);
}
},
[chat, chatData],
);
if (!userData || !myData) {
return null;
}
return (
<Container>
<Header>
<img src={gravatar.url(userData.email, { s: '24px', d: 'retro' })} alt={userData.nickname} />
</Header>
<ChatList chatData={chatData} />
<ChatBox chat={chat} onChangeChat={onChangeChat} onSubmitForm={onSubmitForm} />
</Container>
);
};
export default DirectMessage;
답변을 작성해보세요.
0
0
조현영
지식공유자2021.08.02
이게 브라우저 한글 버그인지 코드 오타인지 구별이 잘 안 가네요. ㅠ 그런데 제 배포본에서는 한번만 쳐지신다고 하신 것을 보면 코드 오타 가능성도 있어 보입니다.
답변 3