inflearn logo
강의

Course

Instructor

Bite-Sized React.js Practical Project - SNS Edition

(10.2) Implementing the add comment feature

리액트 타입스크립트 관련 질문있습니다.

Resolved

52

seop2

17 asked

0

타입스크립트 강의를 따로 안들어서 그런데 컴포넌트 별로 props를 넘길때 언제는 구조분해할당으로 넘기고 언제는 그냥 타입만 선언해서 넘기던데 따로 판단하는 기준이 있을까요?

CommentEditor 컴포넌트 props 넘길때 {postId}:{postId : number} 과
(postId : number) 의 차이가 명확히 그려지지가 않습니다.

react typescript react-query supabase zustand

Answer 1

0

winterlood

안녕하세요 이진섭님 이정환입니다.

Props의 타입을 정의할 때 postId :{postId : number} 과 (postId : number) 의 차이가 뭔지 모르겠다고 질문 주셨는데요 아마 다음 두 케이스를 말씀하신 것 같습니다.

// 케이스 1
function AComp (props : {id: number}){ ... }

// 케이스 2
type Props = { ... }
function BComp (props : Props){...} 

두 케이스 모두 동작은 완전히 동일합니다. props의 타입이 { postId: number} 객체라는 것을 명시하는 건 똑같고, 타입을 인라인으로 쓰느냐 별도로 분리하느냐의 차이일 뿐입니다.

케이스 1은 간단한 컴포넌트에서 빠르게 작성할 때 편리하고, 케이스 2는 Props가 복잡하거나 여러 곳에서 재사용할 때 코드를 더 깔끔하게 관리할 수 있다는 장점이 있습니다. 어떤 방식을 쓰든 결과는 같으니 편하신 쪽으로 사용하시면 됩니다.

다만 이 부분을 정확하게 이해하시려면 타입스크립트의 타입 별칭(Type Alias), 인라인 타입 등의 문법에 대한 기본 지식이 필요합니다. 강의 소개 및 상세 페이지에서 타입스크립트 선수강을 필수로 안내드린 것도 이런 이유에서입니다.

타입스크립트 기초를 먼저 학습하신 뒤에 다시 보시면 훨씬 자연스럽게 이해되실거예요!

useMutation 적용 후 새로운 글 등록시 content가 안보여요

0

20

2

6.8 zustand 세션 질문입니다.

0

66

2

next.js 강의에서도 리액트 라이브러리들을 다뤄주시나요?

0

56

2

shadcn에서 radix ui와 base ui 차이는 뭔가요?

0

198

2

updateTodo 함수 생성시 화살표 함수 사용 안하는 이유

0

61

2

4.11 바로 투두 삭제가 안됨 질문

0

73

3

매개변수 updatedTodo 관련 질문

0

55

3

인증 정보가 만료되었을 때 라우트 가드 처리가 궁금합니다!

0

69

2

supabase를 사용하지 않을 경우 세션 데이터의 변경을 감지하고 스토어에 보관하는 방법이 궁금합니다!

0

58

2

4.6 id를 string으로 변경시 오류

0

53

2

소셜 로그인 구현하기 관련하여 질문이 있습니다!

0

86

2

ui 파일 질문드립니다.

0

62

1

tanstack query devtools에서 질문있습니다!

0

56

2

댓글 삭제 시 isPending 질문

0

54

2

두번째 예외상황에 대해 질문있습니다!

0

53

1

리액트 쿼리 질문입니다

0

56

2

개발자도구에서 components 가 안보입니다.

0

75

3

state 관리에 대한 정리

0

68

3

[(2.4) Shadcn/ui를 소개합니다] 강의 Shadcn 세팅 관련 질문 있습니다.

0

146

3

like 테이블에서 왜 create_at이 필요한지 궁금합니다.

0

66

1

삭제가 바로 안되네요ㅠ

0

54

2

access 토큰은 꼭 소셜서버로부터 받아서 사용해야만하나요?!

0

71

2

전역 모달이 여러 개일 경우 모달 프로바이더는 몇 개가 필요한가요?

0

52

1

프로필 수정 후 post item 의 글들에서 수정된 프로필 업데이트 반영

0

69

2