* 이 포스팅은 Nomad Coders의 강의를 들으며 내용을 정리한 것이며,
모든 내용은 https://academy.nomadcoders.co/ 에서 보실 수 있습니다.*
Dataflow with props - props에서 오는 데이터
메인 컴포넌트 앱은 영화 이미지들을 가져올 것이다.
그리고 그 영화들은 카드 형태로 보여진다.
-> 메인 컴포넌트는 무비 리스트가 있다는 뜻이다.
-> 그리고 그 리스트 안에 영화카드엔 해당 영화의 정보가 각각 담길 것이다.
-> 부모 컴포넌트는 자식 컴포넌트에게 각각 정보를 줄 것이다.
-> 어떻게 부모자 자식에게 정보를 주느냐? 바로 props를 통해서이다.
영화리스트를 만들어 보자.
4개의 영화를 넣었고, 이 영화들의 '제목'을 자식 컴포넌트인 movie에게 보내고 싶다면?
<Movie /> 안에 배열 형태로 넣어준다.
이제 movie 컴포넌트는 '제목'이라는 데이터를 얻게 되었다.
이제, movie 컴포넌트로 가게 되면,
render 다음에 console.log(this.props)를 작성...
웹 브라우저에서 살펴보자.
console에서 우리가 입력한 제목들을 확인할 수 있다.
우리는 제목을 적고, 각각 영화에 다른 제목을 부여했다.
그리고 각 영화의 props는 부여한 제목과 같다.
내가 이미 어떤 object(props)가 있으면, {this.props."title"}라고 입력해주면 된다.
4개에 이미지에 해당하는 제목이 뜬다.
(이미지는 동일)
리액트는 부모 컴포넌트가 자식 컴포넌트에게 정보를 준다.
이 경우에는 movie에 title을 부여했고,
movei.js에서 title을 props로 불러온다.
왜냐? movie 컴포넌트는 title이라는 요소가 있으니까.
그리고 요소들을 액세스하는 방법은, "this.props.title"이다.
<<JSX의 경우 명령을 실행시키려면 괄호를 꼭 쳐야한다!!!!>>
이제 이미지 리스트를 만들어 보자.
movieImages라는 배열에 이미지 url을 붙여넣는다.
title={movieTitles[]}
poster={movieImages[]}
앞에서 한 영화 제목과 방식은 같다.
이렇게 새로운 props가 생성됨.
이제 부모 컴포넌트는 타이틀과 포스터를 자식 컴포넌트에게 줄 것이다.
movie 컴포넌트는 포스터만 movieposter 컴포넌트에게 줄 것이다.
<Movieposter poster={this.props.poster}/>
일단 props를 출력해보자.
예상대로 poster와 title이 함께 나온다.
이 poster props를 movie poster 컴포넌트로 보내야 한다.
출력해보자.
잘된다.
긴 링크 대신, this.props.poster을 사용하면 끝!
짜잔!!!
'프로그래머 > React.js' 카테고리의 다른 글
ReactJS - React에서의 Lifecycel Events | NomadCoders | 프로그래밍 공부 (0) | 2019.01.13 |
---|---|
ReactJS - Validating Props with PropTypes | NomadCoders | 프로그래밍 공부 (0) | 2019.01.09 |
ReactJS - Lists with .map | NomadCoders | 프로그래밍 공부 (0) | 2019.01.08 |
ReactJS - JSX를 이용해 React Components 만들기 | NomadCoders | 프로그래밍 공부 (0) | 2019.01.01 |
ReactJS - Hello world 출력 | NomadCoders | 프로그래밍 공부 (0) | 2018.12.31 |