[Compose Study] Card, Image 3
728x90
반응형
* 우리가 ImageCard를 Composable로 빼놓은 이유는 ImageCard를 재사용하고 싶은 이유도 있다. 하지만 현재 저장해 놓은 상태는
재사용이 불가능한 구조이다. 상태를 저장하는 값이 외부에서 지정이 되는 형태로 되야지만 재사용이 가능해진다.
* 따라서, 상태를 저장하는 부분을 MainActivity쪽으로 뺀 다음 ImageCard에 isFavorite를 변수로 받게 수정했다.
* 이렇게 되면 ImageCard에 들어오는 isFavorite은 이제 변수가 아닌 상수가 되어버린다. 따라서 ImageCard 아래에 상태를 변경하는
부분 코드는 쓸 수가 없다.
* 따라서, Callback 함수를 만들고 클릭이 발생하면 현재 favorite 반대값을 넣어줘서 return 해준다.
* 마지막에 callback이 있기때문에 return 값에 함수를 생성하고 ->로 변경해준다.
* ImageCard를 재사용하기 좋게 만드려면 modifier역시 외부에서 지정해주는 방식이 좋다.
* modifier 변수를 매개변수로 받고 setContent에서 매개변수로 넣어주면 재사용에 용이한 이미지 카드가 완성된다
* 실행 결과
728x90
반응형
'Study > Android' 카테고리의 다른 글
[Compose Study] Scaffold (0) | 2024.05.30 |
---|---|
[Compose Study] 구조분해 (0) | 2024.05.28 |
[Compose Study] Card, Image 2 - 상태 저장 (0) | 2024.05.28 |
[Compose Study] Card, Image (0) | 2024.05.27 |
[Compose Study] Box (0) | 2024.05.27 |
TAGS.