강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của dongpyo01237137
dongpyo01237137

câu hỏi đã được viết

Flutter sơ cấp - Giao tiếp Http, quản lý trạng thái

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

Viết

·

788

0

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

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

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

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

ios웹앱Flutterandroid

Câu trả lời 3

1

Dongpyo Lee님의 프로필 이미지
Dongpyo Lee
Người đặt câu hỏi

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

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

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

1

survivalcoding님의 프로필 이미지
survivalcoding
Người chia sẻ kiến thức

StatefulWidget 사용하시면 되고요.

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

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

0

survivalcoding님의 프로필 이미지
survivalcoding
Người chia sẻ kiến thức

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

Hình ảnh hồ sơ của dongpyo01237137
dongpyo01237137

câu hỏi đã được viết

Đặt câu hỏi