import { useMemo } from 'react'; import { buildFriendNicknameMap } from '../../helper/converse-helper'; import { isValidStr } from '../../utils/string-helper'; import { useAppSelector } from './useAppSelector'; /** * 获取好友自定义的昵称 * 用于覆盖原始昵称 * * @param userId 用户id */ export function useFriendNickname(userId: string): string | null { const nickname = useAppSelector( (state) => state.user.friends.find((f) => f.id === userId)?.nickname ); if (isValidStr(nickname)) { return nickname; } return null; } export function useFriendNicknameMap(): Record { const friends = useAppSelector((state) => state.user.friends); const friendNicknameMap = useMemo( () => buildFriendNicknameMap(friends), [friends] ); return friendNicknameMap; }