인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

oridori2705님의 프로필 이미지
oridori2705

작성한 질문수

따라하며 배우는 리액트 A-Z[19버전 반영]

영화 자세히 보기 클릭 시 모달 생성하기

궁금한점을 모아봤습니다..ㅠㅠ

해결된 질문

작성

·

326

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  1. 이 부분에서 끝부분에 useState({}) 와

    useState([]) 차이가 어떻게 되는지 정확히 알 수 있을까요? 둘다 movie의 정보를 가져오는 배열인줄 알았는데 달라서요..

  2. onClick에서 ArrowFunction을 사용하는데 그냥 onclick={handleClick(movie)} 하면 안될까요?

위 사진처럼 arrow Function을 사용하지도 handleChange() 처럼 빈괄호를 넣지도않을 때가 있는데

어떤 경우에서 어떤 형식을 써야하는 건가요??

제가 자바스크립트를 제대로 못배워서..죄송합니다..ㅠㅠ

3.세미콜론을 붙이건 안붙이건 오류가 안보여서 잘 작동이 되는건지 세미콜론을 무조건 붙이는게 맞다고 생각했는데

가끔 자동완성기능을 사용하면 리액트 자체에서 세미콜론을 안붙이더라구요.. 그래서 리액트는 세미콜론이 상관없는건지 잘 모르겠어요..ㅠㅠ

  1.  

이 강의에서 자동완성 [ rfce ]로 한 이유와 index.js파일에 function이름을 MovieModal로 한 이유가 있을까요?? 뒤에 강의에서도 설명하실 수도 있지만 혹시 알려주실 수 있으면 감사드립니다!

답변 1

3

John Ahn님의 프로필 이미지
John Ahn
지식공유자

안녕하세요!

1. 이 부분에서 끝부분에 useState({}) 와

useState([]) 차이가 어떻게 되는지 정확히 알 수 있을까요? 둘 다 movie의 정보를 가져오는 배열인 줄 알았는데 달라서요..

==> {} 이 부분은 State 기본 값이 object 객체 값이고 [] 이것은 배열입니다~

2. onClick에서 ArrowFunction을 사용하는데 그냥 onclick={handleClick(movie)} 하면 안 될까요?

==> 만약 인수값이 있을 때 onClick={() => handleClick(movie)} 없을 때 onClick={handleClick}으로 해주시면 됩니다.

3. 세미콜론을 붙이건 안 붙이건 오류가 안 보여서 잘 작동이 되는 건지 세미콜론을 무조건 붙이는 게 맞다고 생각했는데

==> 세미클론은 논란이 많지만, 결국은 붙여주시는 게 좋습니다. 리액트도 결국은 자바스크립트로 이루어져 있기 때문에 붙여주시면 좋습니다 ^^

4. rfce로 한 특별한 이유는 없습니다 ~ 그리고 index.js 파일은 폴더 안에 기본 파일로 컴포넌트 생성 시에는 올바른 컴포넌트 이름을 넣어주시면 됩니다~

감사합니다!

oridori2705님의 프로필 이미지
oridori2705

작성한 질문수

질문하기