// Person.tsx
const { data: lastMessages, isPending } = useQuery({
queryKey: ["lastMessage", userId],
queryFn: () => showLastMessage({ userId, myId }),
enabled: !!userId,
});
const lastMessage = lastMessages?.[0]?.message || "서로 대화를 해보세요!";
// ChatList.tsx
const { data: allMessages, isPending } = useQuery({
queryKey: ["allMessage", loggedInUser?.id],
queryFn: () => {
if (loggedInUser?.id) {
return getAllMessage({ myId: loggedInUser.id });
}
return Promise.resolve([]);
},
enabled: !!loggedInUser?.id,
});
function getLastMessage(userId: string) {
const lastMessageData = allMessages?.filter((message) => message.sender === userId).pop();
return lastMessageData?.message || null;
}
프로젝트를 만들 때 api 호출 하는 방법 하나 바꾸는 것만해도 상당히 성능 개선 효과가 있다.
다음 주가 이제 마지막인가..?