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

rlaalsrb3559님의 프로필 이미지
rlaalsrb3559

작성한 질문수

따라하며 배우는 노드, 리액트 시리즈 - 영화 사이트 만들기

무비앱 시리즈 #5 Grid Card Component ( 따라하며 배우는 리액트 노드 )

movieimage가 안뜨네요...

작성

·

329

8

{Movies && Movies.map((movieindex=> (
                        <React.Fragment key={index}>
                            <GridCards
                                image={movie.poster_path ?
                                    `${IMAGE_BASE_URL}w500${movie.poster_path}` : null}
                                movieId={movie.id}
                                movieName={movie.original_title}
                            />
                        </React.Fragment>
                    ))}
이거의 결과값이 계속 null값이 뜹니다.. 이유가 뭘까요 ㅠ
 <Col lg={6} md={8} xs={24}>
        <div style={{position:'relative'}}>
            <a href={`/movie/${props.movieId}`}>
                <img style={{width:'100%',height:'320px'}} src={props.image} alt={props.movieName}/>
            </a>
            
        </div>
        </Col>

답변 5

6

저도 같은 문제였는데 setMovies(...[response.results])

로 변경해주니 해결되었습니다.

강의에는 이 부분이 설명없이 바뀌어 있더라구요

5

rlaalsrb3559님의 프로필 이미지
rlaalsrb3559
질문자

setMovies([response.result])를

setMovies([...Movies, ...response.results]) 로 변경

해주었더니 해결되었습니다. 혹시 이둘의 차이가 뭔지 알수 있을가요??

불변성 유지해주려고 전개연산자를 쓴건가요??

4

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

setMovies([ a , b ])

a = 현재 가지고있는 Movies들   (하지만 ... 전개 연산자를 사용하여  직접 state을 건들지 않고있지요 ~ )

b = b에서의   ...을 사용했을때는   object 들이 여러개입니다 

,    하지만   ...없이 사용하면   Array안에 Object 들이 들어있어서  이미 

a, b 를 []  Array가 감싸고 있기에  올바른 형식이 아닙니다 ^^

  

0

setMovies(...[response.results])는 의미가 없는거 같습니다.

results가 영화 객체들을 담은 배열인데, 배열을 배열에 담고 펼치는 동작이라 response.results와 차이가 없습니다. 그냥 setMovies(response.results)가 맞는것 같아요. 

0

저도 같은 문제를 겪었습니다. 감사합니다. 

rlaalsrb3559님의 프로필 이미지
rlaalsrb3559

작성한 질문수

질문하기