https://react-messenger-17th-psi.vercel.app/
Layout
<Route element={**<Layout/>**}>
<Route path="/FriendPage" element={<FriendPage/>}/>
<Route path="/ChatroomPage" element={<ChatroomPage/>}/>
<Route path="/SettingPage" element={<SettingPage/>}/>
</Route>
<PageWrapper>
<SideBar>
<Link to="/FriendPage">
<IconImg src={`${process.env.PUBLIC_URL}/image/user.png`}/>
</Link>
<Link to="/ChatRoomPage">
<IconImg src={`${process.env.PUBLIC_URL}/image/speech-bubble.png`}/>
</Link>
<Link to="/SettingPage">
<IconImg src={`${process.env.PUBLIC_URL}/image/settings.png`}/>
</Link>
</SideBar>
<Main>
**<Outlet/>**
</Main>
</PageWrapper>
React.memo 활용으로 불필요한 렌더링 줄이기
React.memo()
를 제공props
가 동일하다면 불필요한 리렌더링을 하지 않고 리액트는 메모이징한 내용을 재사용함props
로 렌더링이 자주 일어나는 컴포넌트가 있을 경우 활용!네이밍의 중요성
기능이 비슷한 컴포넌트들과 인터페이스의 향연😨
헷갈림을 방지하고 깔끔한 코드 작성을 위해 네이밍 규칙을 세우는 게 중요!
export interface Chat {
...
}
> export interface ChatInterface
> export interface IChat
React-router-dom
에는 Link
, Route
, Router
등의 컴포넌트 존재