๐ Task TODOLIST
- [x] ์ฑํ ๋ฐฉ ๋ผ๋ ๋ง๋ค๊ธฐ
- [x] ์ด์ ์ฑํ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ
- [x] ์๋ก๊ณ ์นจ ์์๋ ๋ฐ์ดํฐ ์ ์งํ์ฌ ๋ ๋๋งํ๊ธฐ
- [x] ์ฑํ ๋ฐ์ดํฐ ์๋ก ์ถ๊ฐํ๊ธฐ
โจ ๊ฐ๋ฐ ๋ด์ฉ
์ฑํ ๋ฐฉ ๋ผ๋ ๋ง๋ค๊ธฐ
์ด์ ์ฑํ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ
- TTV๋ฅผ ์ํด์ server ์ธก supabase ์ฌ์ฉํ์ฌ CSR ์ปดํฌ๋ํธ์ Props๋ก ๋ด๋ ค์ฃผ๊ธฐ
- ์ฑํ ๋ฐ์ดํฐ๋ฅผ CSR ์ปดํฌ๋ํธ์์ ์ง์ ๋ถ๋ฌ์์ ๋ ๋๋ง ํ ์๋ ์์์ง๋ง,
TTV๋ฅผ ์ค์ด๊ธฐ ์ํด ์ด๊ธฐ ๋ฉ์ธ์ง๋ ์๋ฒ์์ ๋ฐ์์ CSR ์ปดํฌ๋ํธ๋ก Props๋ก ๋๊ฒจ์คฌ๋ค.
const ChatPage = async ({ params }: { params: { chatroom_id: string } }) => {
const chatRoomId = params.chatroom_id;
const supabase = serverSupabase();
const {
data: { user }
} = await supabase.auth.getUser();
const { from, to } = getFromTo(0, ITEM_INTERVAL);
const { data: allMsgs } = await supabase
.from('messages')
.select('*')
.eq('chatting_room_id', chatRoomId)
.range(from, to)
.order('created_at', { ascending: false });
return (
<Suspense fallback={<ChatLoading />}>
<div className="relative flex flex-row">
<InitChat user={user} chatRoomId={chatRoomId} allMsgs={allMsgs ?? []} /> ---> ์ด ๋ถ๋ถ
<div className="flex lg:flex-row lg:w-full max-sm:w-full max-sm:flex-col justify-center mx-auto">
<div className="lg:flex lg:max-w-96 max-sm:absolute max-sm:z-50 max-sm:bg-white ">
<SideBar chatRoomId={chatRoomId} />
</div>
Supabase-realtime์ผ๋ก ์ฑ๋ ๊ตฌ๋ ํ๊ธฐ
์๋ก๊ณ ์นจ ์์๋ ๋ฐ์ดํฐ ์ ์งํ๊ธฐ
- ์๋ก๊ณ ์นจ ์ ์๋ฒ์ ์ง์ ์์ฒญํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋ ๊ฒ๊ณผ, useQuery๋ก ํธ์ถํ์ฌ ๋ฐ์์ค๋ ๊ฒ ์ค ๊ณ ๋ฏผ์ด๋ค.
- ์ฑ๋ฅ์ ์ผ๋ก๋ ์ด์ฐจํผ ํธ์ถ์ด ๊ฐ๋ฅ ๊ฒ์ ๋งคํ๊ฐ์ง์ฌ์ ํฐ ์ฐจ์ด๋ ์์ ๋ฏํ๋ฐ, ์ข ๋ ๊ณ ๋ฏผํด๋ด์ผ๊ฒ ๋ค.
์ฑํ ์ถ๊ฐํ๊ธฐ
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
2024.04.04 TIL #์ฑํ #์ด์ ๋ฉ์ธ์ง _๋๋ณด๊ธฐ (0) | 2024.05.03 |
---|---|
2024.04.03 TIL #์ฑํ ์ญ์ #Supabase_realtime #RLS #Delete (0) | 2024.05.02 |
2024.04.01 TIL #ํธ๋ฌ๋ธ์ํ #supabase_realtime_vs_React-Query #์๋ก๊ณ ์นจ (0) | 2024.04.02 |
2024.03.29 TIL #indexOf_vs_findIndex #๋ฌธ์์ด๋๋๊ธฐ_ํ๋ก๊ทธ๋๋จธ์ค (0) | 2024.03.30 |
2024.03.28 TIL #๊ธฐํํ์ (1) | 2024.03.28 |