ScrollView to FlatList에서 movie.overview.slice 오류가 떴다....
사진처럼 overview 텍스트를 api로 불러와서 slice
메소드를 사용하여 70자(70자 미포함
) 까지 얕은 복사본의 새로운 객체를 만들어서 70자 이상이면 ...
을 붙이는 함수를 작성하였다.
<UpcomingOverview>
{movie.overview.slice(0, 70)}
{movie.overview.length > 70 && "..."}
</UpcomingOverview>
numberOfLines
을 사용하였다.numberOfLines
props로 Text를 몇줄 보여줄 것인지 정한다. ellipsizeMode
기본 tail 값을 가진다. 즉, 3번째 줄부터 ...
으로 생략한다. <UpcomingOverview numberOfLines={3} ellipsizeMode='tail'>
{movie.overview}
</UpcomingOverview>
이번에는 사진들과 모든 텍스트 api가 제대로 작동하지 않았다.
export default function HCard({ movie }) {
console.log(movie);
return (
<UpcomingRow key={movie.id} onPress={() => {}}>
<UpcomingPoster source={{ uri: getImgPath(movie.poster_path) }} />
<UpcomingColumn>
<UpcomingTitle>{movie.title}</UpcomingTitle>
<Release>{movie.release_date}</Release>
<UpcomingOverview>
{movie.overview.slice(0, 70)}
{movie.overview.length > 70 && "..."}
</UpcomingOverview>
</UpcomingColumn>
</UpcomingRow>
);
}
{ }
중괄호가 빠져있는 것을 확인할 수 있었다.renderItem
에서 item 중괄호를 넣고 다시 콘솔 로그로 찍어보았다.{ }
대신 item.item구조 분해 할당 구문은 배열이나 객체의 속성을 해체하여 그 값을 개별 변수에 담을 수 있게 하는 JavaScript 표현식이다.
var metadata = {
title: 'Scratchpad',
translations: [
{
locale: 'de',
localization_tags: [],
last_edit: '2014-04-14T08:43:37',
url: '/de/docs/Tools/Scratchpad',
title: 'JavaScript-Umgebung',
},
],
url: '/en-US/docs/Tools/Scratchpad',
};
var {
title: englishTitle,
translations: [{ title: localeTitle }],
} = metadata;
console.log(englishTitle); // "Scratchpad"
console.log(localeTitle); // "JavaScript-Umgebung"
var user = {
id: 42,
displayName: 'jdoe',
fullName: { firstName: 'John', lastName: 'Doe' },
};
function userId({ id }) {
return id;
}
console.log(userId(user)); // 42