Skip to content

Commit 88b05da

Browse files
committed
fix: fix a problem which deleted conversation can not get name occur crash
1 parent f084d4b commit 88b05da

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

client/shared/redux/hooks/useDMConverseName.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,20 @@ import type { ChatConverseState } from '../slices/chat';
44
import { useUserId } from './useUserInfo';
55
import type { FriendInfo } from '../slices/user';
66

7-
export function useDMConverseName(converse: ChatConverseState) {
7+
export function useDMConverseName(converse: ChatConverseState | undefined) {
88
const userId = useUserId();
99
const friends: FriendInfo[] = useAppSelector((state) => state.user.friends);
1010
const { value: name = '' } = useAsync(async () => {
11+
if (!converse) {
12+
return '';
13+
}
14+
1115
if (!isValidStr(userId)) {
1216
return '';
1317
}
1418

1519
return getDMConverseName(userId, converse);
16-
}, [userId, converse.name, converse.members.join(','), friends]);
20+
}, [userId, converse?.name, converse?.members.join(','), friends]);
1721

1822
return name;
1923
}

client/web/src/components/ConverseName.tsx

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
import React from 'react';
2-
import { useAppSelector, useDMConverseName } from 'tailchat-shared';
2+
import {
3+
ChatConverseState,
4+
useAppSelector,
5+
useDMConverseName,
6+
} from 'tailchat-shared';
37

48
interface ConverseNameProps {
59
converseId: string;
@@ -9,7 +13,9 @@ interface ConverseNameProps {
913

1014
export const ConverseName: React.FC<ConverseNameProps> = React.memo((props) => {
1115
const { converseId, className, style } = props;
12-
const converse = useAppSelector((state) => state.chat.converses[converseId]);
16+
const converse = useAppSelector<ChatConverseState | undefined>(
17+
(state) => state.chat.converses[converseId]
18+
);
1319
const converseName = useDMConverseName(converse);
1420

1521
return (

0 commit comments

Comments
 (0)