티스토리 뷰
State를 활용한 라이프 사이클 실습
예제속에 주석으로 달아 놓았습니다.
import React,{ Component } from 'react';
import './App.css';
import Movie from './Movie';
const moviesTitle = [
"Matrix",
"Full Metal Jacket",
"Oldboy",
"Star Wars"
]
const moviesImage = [
"https://d2e111jq13me73.cloudfront.net/sites/default/files/styles/share_link_image_large/public/screenshots/csm-movie/the-hunger-games-ss1.jpg?itok=EFSm-KAL",
"https://cdn1.thr.com/sites/default/files/imagecache/landscape_928x523/2017/05/full_metal_jacket_1987_3-h_2017.jpg",
"https://i.ytimg.com/vi/2HkjrJ6IK5E/hqdefault.jpg",
"https://lumiere-a.akamaihd.net/v1/images/swbfii_keyart_clean_final_flat_8d03e069.jpeg?region=0%2C37%2C1024%2C576&width=600"
]
const movies = [
{
title:"matrix",
poster:"https://d2e111jq13me73.cloudfront.net/sites/default/files/styles/share_link_image_large/public/screenshots/csm-movie/the-hunger-games-ss1.jpg?itok=EFSm-KAL"
},
{
title:"full metal jacket",
poster:"https://cdn1.thr.com/sites/default/files/imagecache/landscape_928x523/2017/05/full_metal_jacket_1987_3-h_2017.jpg"
},
{
title:"Oldboy",
poster:"https://i.ytimg.com/vi/2HkjrJ6IK5E/hqdefault.jpg"
},
{
title:"Star Wars",
poster:"https://lumiere-a.akamaihd.net/v1/images/swbfii_keyart_clean_final_flat_8d03e069.jpeg?region=0%2C37%2C1024%2C576&width=600"
}
]
// lifecycle 과정
// Render:componentWillMount->,render ,-> componentDidMount ,
// update componentWillReceiveProps() -> shouldComponentUpdate() == true -> componentWillUpdate -> render() -> componentDidUpdate
class App extends Component {
componentWillMount(){
console.log('will mount')
}
// state상태로 되어 있는것을 greeting 변수에 있다가
state = {
greeting : 'hello'
}
// 5초 뒤에 hello again으로 바꿔주기 위함
componentDidMount(){
console.log('did mount')
setTimeout(() => {
//this.state.greeting = 'something'
// 직접적으로 변경하면 안된다.
// 자동으로 render가 호출된다.
// state를 바꿀때는 항상 setstate를 활용한다.
this.setState({
greeting:"hello again"
})
},5000)
}
render(){
console.log('did render')
return (
<div className="App">
// 여기서 movie는배열이라고 생각 파라미터
{this.state.greeting}
{movies.map(movie =>{
return <Movie title={movie.title} poster={movie.poster} />
})}
<Movie title={movies[0].title} poster={movies[0].poster} />
<Movie title={movies[1].title} poster={movies[1].poster} />
<Movie title={movies[2].title} poster={movies[2].poster} />
<Movie title={movies[3].title} poster={movies[3].poster} />
</div>
);
}
}
export default App;
'React' 카테고리의 다른 글
[React] 리액트 라이프 사이클 이론 (0) | 2018.01.06 |
---|---|
[React] List Map (0) | 2017.12.29 |
[React] 컨셉 props 활용하기(부모->자식) (0) | 2017.12.28 |
[React] React를 활용한 뮤비 리스트 만들기 (0) | 2017.12.28 |
[React] 리액트를 활용한 기본 정의 및 환경설정 (0) | 2017.12.28 |
- Total
- Today
- Yesterday
- db
- TensorFlow
- 초보자를 위한 C언어 300제
- programming
- C langauge
- 코드엔진
- MVC
- Controller
- 텐서플로우
- 감자개발자
- BFS
- Android
- 스프링
- 백준알고리즘
- 개발하는 관광이
- 감자코딩
- 머신러닝
- node.js
- C언어
- 안드로이드
- 복습
- 백준
- 학교
- 알고리즘
- Spring
- Algorigm
- node
- 프로그래밍
- 노드
- 리버싱
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |