[재한] 사회에 발딛은 콜럼버스 코드 #9
Replies: 4 comments
|
패키지의 아버지 재한님, 안녕하시렵니까?🤗 바로 제 생각을 말씀드려보겠읍니다.
사실 요즘의 재한님에게서는 절대 나올 수 없는 코드네요. 8개월만의 프론트의 신이 되어버린 재한님,,,,그저 갓재한🫢 |
|
안녕하세요 재한님? 오늘도 즐거운 리뷰시간입니다. 바로 리뷰 갑니다.
const onClickDownloadFile = (id, fileName, type) => {
downloadFile(id, fileName, type)
}
---- 생략 ----
onClick={
onClickDownloadFile(
examInfo.examDetailAttachment.id,
`문제 검색용 파일_${examInfo.examDetailName}`,
`${examInfo.examDetailAttachment.type}`)
}역시 과거의 재한님도 똑똑이셨군요.. 가독성이나 네이밍 말고는 리뷰할 게 없는 멋진 코드! |
|
'어떻게 추상화를 해야 할까' 저는 주로 중복되는 코드를 중심으로 컴포넌트를 만들고 있습니다. 또, 도메인 별로 컴포넌트를 나누면 컴포넌트명으로도 어떤 역할을 하는지 알 수 있어 좋다고 생각합니다! 재한님이 주석으로 나눠 주신 것처럼 post와 button을 컴포넌트로 만들어 어떤 역할을 하는지 분명하게 알 수 있다고 생각해요! |
|
안녕하세요 재한님! 😊 도메인 맥락 분리저는 CategoryDefaultButton, CategoryButton 등의 컴포넌트에서 도메인 맥락을 분리하고, 순수한 UI 기능을 분리하여 다른 곳에서도 재활용할 수 있는 컴포넌트를 만들 수 있지 않을까 싶은 생각이 들었어요! (이미지를 보면서 추측하건데, 현재 선택된 요소에 따라 다른 컨텐츠를 보여주는 Tab 혹은 현재 활성화 된 상태에 따라 컨텐츠에 active 효과를 줘야 하는 NavLink와 유사한 기능이 포함되어있는 것 같아요!) PostList 분리PostList에 대한 Empty State UI와 컨텐츠를 하나의 컴포넌트로 묶어서 관리할 수도 있지 않을까 싶네요! <div className={styles.post_box}>
{posts.length > 0 && (
<>
{posts.map((post) => (
<Link key={post.id} href={`/restore/${examDetailIdx}/post/${post.id}`}>
<PostBox post={post} />
</Link>
))}
<Pagination totalPage={totalPage} currentPage={page} onChangePage={handleChangePage} />
</>
)}
{posts.length === 0 && <RestorePostEmptyList message={'게시물이 존재하지 않습니다.'} />}
</div> |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
개요
이번엔 인턴 생활에서 작성한 첫 코드 중 일부분을 가져와봤습니다.
역시 이전 코드를 끄집어 내는 건 정말 어렵군요 😂
요새 하는 고민은 어떻게 컴포넌트 구조를 야무지게 짤까를 정말 많이 고민하고 있습니다.
이러한 고민을 저의 구닥다리 코드와 함께 고민해봅시다.
불과 8개월 전에 짠 코드인데 정말 많이 더럽습니다. (컴포넌트 설계가 아직 미숙했달까)
여러분들이 봐주실 포인트는 요렇습니다!
P.S) Next.js에서 짠 코드입니다
코드
사진
All reactions