강의

멘토링

커뮤니티

Inflearn Community Q&A

dongpyo01237137's profile image
dongpyo01237137

asked

Flutter Beginner - Http Communication, State Management

Provider + StateLess 에서 ScrollController Dispose() 사용 문제 질문

Written on

·

772

0

Provider  를 사용하게 되면 StateLessWidget을 사용하는데 탭뷰를 다녀오면 리스트가 초기화되어서 이전에 보던 스크롤 위치를 고정시키려고 합니다.

이걸 하려고 보니 ScrollController를 사용해야 하던데 StateLess는 Dispose가 없어서 controller dispose를 하지 못합니다.

Provider 를 사용하는데 StateFull 을 사용해야 하는 것인가요?

TabView 로 다른 탭 갔다 오면 리스트 오프셋이 게속 0이네요 ㅠㅠ

ios웹앱Flutterandroid

Answer 3

1

Dongpyo Lee님의 프로필 이미지
Dongpyo Lee
Questioner

Provider를 사용하더라도 Controller를 사용하게 되면 StatefulWidget 을 쓰는군요 감사합니다.

스크롤 위치 기억하는 방법은 찾아봤더니 아래 방법이 있네요

CustomScrollView(
key: PageStorageKey<String>('feed_scene'),

1

survivalcoding님의 프로필 이미지
survivalcoding
Instructor

StatefulWidget 사용하시면 되고요.

ScrollController에 offset 프로퍼티 값을 Provider 쪽에 저장해 두고  initState() 에서 ScrollController의 jumpTo() 에 전달해 주면 될 듯 합니다.

처음엔 초기값 0 주시면 되겠네요

0

survivalcoding님의 프로필 이미지
survivalcoding
Instructor

저장은 dispose() 에서 하시면 되겠구요

dongpyo01237137's profile image
dongpyo01237137

asked

Ask a question