inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Flutter + Firebase로 넷플릭스 UI 클론 코딩하기 [무작정 플러터]

플러터와 파이어베이스 연동하기 - 2) 플러터 코드 작성하기

home screen에 찜하기가 바로 업데이트가 안되는 현상

299

kcontrol

작성한 질문수 6

0

detail screen에서 찜하기(like)를 누르고

home screen으로 오면 상단에 바로 반영이 되야 하는데

다른 탭에 갔다 와야지만 변경이 됩니다.

어딘가 setstate를 해줘야 될거같은데 모르겠네요.

flutter firebase 클론코딩

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.
kcontrol님, Flutter에서 detail screen에서의 변경 사항이 home screen에 바로 반영되지 않는 문제는 일반적으로 state 관리의 문제입니다.

StatefulWidget의 setState() 메소드를 활용해서 상태 변경을 감지하고 화면을 갱신할 수 있으나, 두 화면 간에 상태를 전달하고 반영하는 경우에는 이 방법만으로는 충분하지 않을 수 있습니다. Provider, Bloc, Redux 등 state management 패키지를 활용하시거나, Navigator.pop을 사용할 때 값을 전달하는 방식을 고려해서 상태를 관리할 수도 있습니다.

detail screen에서 찜하기를 한 후에 Navigator.pop을 통해 home screen으로 돌아갈 때 변경 사항을 home screen에 전달하고, 이 변경 사항을 받아서 setState를 호출해 화면을 갱신하는 로직을 추가해보세요.

예시:

// detail screen에서
Navigator.pop(context, likeChanged);

// home screen에서
bool result = await Navigator.push(...); // detail screen으로 이동
if (result != null && result) {
  setState(() {
    // 찜하기 상태 업데이트 로직
  });
}

state management 전략이 중요하므로 이에 대해 더 자세히 알아보시는 것도 좋을 것 같습니다.

로고 이미지가 안불러와져요

1

557

1

firebase 설치이후 디버깅하면 아래와 같은 에러가 발생하는데 알려주실분 계실까요?

0

1511

1

TabController controller를 넣게되면 오류가 나고 late를 넣으면 정상으로 작동되는데 이유를 알 수 있을까요?

0

739

1

CarouselImage문제

0

521

1

22.12.11 carousel_slider 문의 드려요..

0

817

1

왜 버튼들이 세로로 정렬될까요..ㅜㅜ

0

422

1

firebase 프로덕트 모드로 진행했는데, 홈화면이 안뜹니다... ㅜ

0

465

1

circle_silder 와 box_slider 에 이미지가 한개만 나옵니다.

0

369

0

firebase 적용후 디버깅시

0

2142

3

url_launcher 의존성 추가시 빌드 불가 에러

1

337

0

220614 carousel_slider.dart

1

675

1

FirebaseFrirestroe 사용시 아래코드로 하시면 됩니다.

5

795

4

M1에서는 안되는가 봅니다..?

0

318

0

상세 페이지 코딩 입력햇는데요 안나와서요 ㅠㅜ 한번 봐주세요

0

334

1

이 부분 누가 해석좀 해주세요...

0

415

1

Container 한번더 감싼 이유

1

363

1

기기별 찜하기 기능 표시

1

412

0

({this.movies}); 에서 movies가 에러나는 이유를 모르겠습니다 ㅠㅠ

1

1015

10

widget.movie.like는 뭘 의미하는 것일까요?

0

240

0

fire base core 오류???

0

460

1

2021.03.17일 기준입니다

10

635

6

FlatButton이 안쓰이는 클래스가 되어서 이렇게 바꿔봤어요

5

629

2

강사님하고 똑같이 한거 같은데 .

0

302

1

다트 vscode 오류

0

202

0