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

[2주차] 김선영 미션 제출합니다 #7

Open
wants to merge 18 commits into
base: master
Choose a base branch
from

Conversation

seondal
Copy link

@seondal seondal commented Sep 23, 2022

배포링크

http://react-todo-16th-87m9.vercel.app/


Key Questions

Virtual-DOM은 무엇이고, 이를 사용함으로서 얻는 이점은 무엇인가요?

  • 가상 돔 : 실제 돔에 접근해서 조작하는 대신 이를 추상화한 자바스크립트 객체를 구성하여 사용합니다
  • 규모가 큰 웹 애플리케이션의 브라우저상에서 돔에 직접 접근하여 변화를 주면 브라우저가 css를 다시 연산하고, 레이아웃을 구성하고, 렌더링하며 허비되는 시간과 성능이슈를 해결할 수 있습니다.

미션을 진행하면서 느낀, React를 사용함으로서 얻을수 있는 장점은 무엇이었나요?

공통적으로 사용하는 내용들을 컴포넌트로 만들 수 있기 때문에
재사용도 쉽고 코드도 훨씬 깔끔해져서 좋았습니다.

React에서 상태란 무엇이고 어떻게 관리할 수 있을까요?

  • props 처럼 컴포넌트의 렌더링 결과에 영향을 주는 데이터를 갖고 있다
  • props와는 달리 매개변수처럼 컴포넌트에 전달되는것이 아닌,
    함수 내에 선언된 변수처럼 컴포넌트 내부에서 관리된다.
  • 보통 react hook들을 이요하여 state를 관리하고 dom을 업데이트한다
    • useState
    • useRef
    • useEffect 등..

Styled-Components 사용 후기 (CSS와 비교)

여러개의 css 파일을 만들지 않아도 되어 좋았고,
해당 컴포넌트를 사용한 파일에 스타일이 정의되어 있기 때문에 코드를 이해하거나 수정할때 훨씬 편했습니다

Copy link
Member

@kongnayeon kongnayeon left a comment

Choose a reason for hiding this comment

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

안녕하세요 선영님! 이번 주 코드 리뷰 파트너 강나연입니다 😸

컴포넌트마다 파일을 나누어 작성해 주셔서 코드를 이해하기 편했습니다!
useCallback을 사용하셨던데 최적화에 대해 고민하며 코드를 짜셨다는 게 느껴져서 좋았어요!
몇 가지 코멘트를 남겨 뒀는데 확인해 보시면 좋을 것 같습니다 🙂

그럼 스터디 시간에 봬요! 🫶🏻

src/style.css Show resolved Hide resolved

// 추가
const nextId = useRef(3);
const onConcat = useCallback(
Copy link
Member

Choose a reason for hiding this comment

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

useCallback 엄청 잘 사용하시네요... 배워 갑니다 🥰

src/component/StyleComponent.js Outdated Show resolved Hide resolved
);
};

export default DoneListBox;
Copy link
Member

Choose a reason for hiding this comment

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

DoneListBox 컴포넌트와 TodoListBox 컴포넌트는 하나로 합쳐도 좋을 것 같아요!! 제목과 완료 여부를 props으로 전달하면 되지 않을까 싶습니다...!

Copy link
Author

Choose a reason for hiding this comment

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

계속 고민하던 부분이였는데..! 시도해보겠습니다 감사합니다 !!

import React from "react";
import styled from "styled-components";
import { AiFillDelete } from "react-icons/ai";
import { BsCircle, BsCheckCircleFill } from "react-icons/bs";
Copy link
Member

Choose a reason for hiding this comment

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

우와 저도 다음엔 라이브러리 사용해서 아이콘 써 봐야겠어요!! 🤩

Copy link
Author

Choose a reason for hiding this comment

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

fontAwesome.. 최고... 👍

Copy link
Member

@jhj2713 jhj2713 left a comment

Choose a reason for hiding this comment

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

안녕하세요, 프론트 파트장 주효정입니다👏

전반적으로 코드를 잘 작성해주신 것 같아서 따로 조언해드릴 부분이 많이 없었던 것 같아요. 메모이제이션도 잘 활용해서 리렌더링을 방지해주셨고, 깔끔하네요👍
다만 스타일 컴포넌트나 함수 네이밍이 조금은 추상적인 느낌이 강한 것 같아요. 지금은 기능이 많은 웹을 제작하는게 아니지만, 기능이 많아지는 경우 BoxItem, List와 같은 네이밍은 해당 컴포넌트의 작업을 설명하지 못해 부적절할 것 같아요. 이 부분만 조금 신경써주신다면 좋을 것 같아요!

이번주 수고 많으셨고 스터디 시간에 봬요~

src/App.js Outdated Show resolved Hide resolved
src/component/StyleComponent.js Outdated Show resolved Hide resolved
<input
type="text"
placeholder="할 일을 작성하세요"
required
Copy link

Choose a reason for hiding this comment

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

선영님이 지난번 코드리뷰 때 알려주신 required 를 저도 적용해보았어요! 덕분에 많은 것을 배워갑니당🤩

@@ -10,16 +10,16 @@ function App() {
{ id: 2, text: "yayaya", checked: false },
]);
Copy link

Choose a reason for hiding this comment

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

사용자의 입장에서 이렇게 미리 적용해두신게 기능을 더 빠르게 이해하기 좋았습니다!

css`
text-decoration: line-through;
color: gray;
`}
Copy link

Choose a reason for hiding this comment

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

헙 이부분 구현 실패했는데 .. styled-components안에서 이렇게 적용할 수 있군요 ! 저도 한번 적용해봐야겠어요! 배워갑니당 🤩

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.

4 participants