Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

9회차 과제 - 김진현 #6

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

JinhyunMSQ
Copy link
Member

@JinhyunMSQ JinhyunMSQ commented May 28, 2024

회사 소개 페이지 만들기 (Boston Consulting Group) 결과화면

메인 화면
Home

로그인 화면
Sign In

회사 소개
About

회사 목표
Goals

공지사항
Notices

1. 개발한 기능

  • 홈페이지 레이아웃 및 내비게이션 바 추가: 메인 페이지에 네비게이션 바를 추가하고, Home, About, Goals, Notices, Sign In 페이지로의 라우팅을 구현했습니다. 네비게이션 바는 로고와 링크 목록을 포함하며, 각 링크를 클릭하면 해당 페이지로 이동합니다.

  • 로그인 페이지 구현: 사용자명과 비밀번호 입력란 및 로그인 버튼을 포함한 일반적인 로그인 화면을 구현했습니다. 사용자 입력을 처리하기 위해 상태 관리를 추가하였습니다.

  • 각 페이지의 콘텐츠 구현: About, Goals, Notices, Profile 페이지를 추가하고, 각각의 페이지에 해당하는 내용을 채웠습니다. Notices 페이지는 공지사항의 CRUD 기능을 구현하였습니다.

2. 개발할 때 유의깊게 개발한 부분

  • 라우팅 설정: 각 페이지로의 라우팅이 원활하게 작동하도록 react-router-dom을 사용하여 설정했습니다. 특히 Layout 컴포넌트를 통해 공통 레이아웃을 유지하면서 각 페이지가 적절히 렌더링되도록 했습니다.

  • 스타일링: 각 컴포넌트의 CSS를 모듈화하고, 스타일링을 일관성 있게 유지하기 위해 노력했습니다. 로그인 페이지의 경우 사용자 친화적인 UI를 구현하기 위해 CSS를 작성했습니다.

  • 상태 관리: 로그인 페이지와 공지사항 페이지에서의 상태 관리를 위해 React의 useState 훅을 사용하여 사용자 입력을 관리하고, 이를 통해 동적으로 콘텐츠를 업데이트하도록 했습니다.

3. 개발하면서 들었던 의문 사항

  • CSS를 작성할 때 각 컴포넌트별로 스타일을 모듈화했지만, 프로젝트 규모가 커질 경우 유지보수성을 높이기 위한 더 나은 CSS 구조나 접근법이 있을지에 대한 의문이 있었습니다.

Copy link

@jihyun132 jihyun132 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

진짜 회사 소개 페이지인 줄 알았습니다~ 로그인 기능도 구현하시고 코드도 가독성 좋고 깔끔하게 구현하신 것 같아요! 많이 배우고 갑니다!!

};

const handleDeleteNotice = (index) => {
const updatedNotices = notices.filter((_, i) => i !== index);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

여기서 작성하신 언더바는 무엇인가요?

Copy link
Member Author

@JinhyunMSQ JinhyunMSQ May 28, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이 코드에서 요소 자체는 필요하지 않고 인덱스만 필요하기 때문에 첫 번째 요소는 사용되지 않았고, 의미 없는 매개변수를 나타내기 위해 사용된 언더바 입니다

value={newNotice}
onChange={(e) => setNewNotice(e.target.value)}
/>
<button onClick={handleAddNotice}>Add Notice</button>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

새 공지사항 추가 기능을 정말 깔끔하게 구현하신 것 같아요!! 이렇게 간단하게 구현하는 방법도 알고가네요~!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

좋게 봐주셔서 감사합니다~
코드 리뷰 해주셔서 감사드리고 고생 많으셨습니다 :)

@JinhyunMSQ
Copy link
Member Author

@YoonKeumJae 코드리뷰 완료 됐습니다~

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants