아무나 빌려가세요
flutter 페이지 뒤로 갔을때 새로고침 하는 방법. 본문
Navigator.push에서 then을 추가하고 setState를 적용한다.
setState가 실행됨에 따라 새로고침이 되는 방식이다.
이동된 페이지에선 Navigator.pop을 해주면 된다.
Navigator.push(context,
MaterialPageRoute(builder: (context) => moveToPage()))
.then((value) {
setState(() {});
});
첫번째 위젯에서 두번째 위젯을 return하고 세번째 위젯에서 Navigator.pop을 하는 경우 첫번째 위젯을 새로고침 하기 위해선 다른 방법이 있다.
첫번째 위젯에 위의 push를 함수의 형태로 두번째 위젯에 전달한다.
firstWidget
...
Container(
child : secondWidget(func : (){
Navigator.push(context,
MaterialPageRoute(builder: (context) => thirdWidget()))
.then((value) {
setState(() {});
});
})
)
두번째 위젯에선 Function 변수를 받아 버튼 안에 함수를 적용하면 된다.
Function func;
...
TextButton(
onPressed:(){
widget.func(); --> 전달받은 함수
}
)
이렇게 하면 첫번째 위젯을 새로고침 할 수 있다.
'플러터' 카테고리의 다른 글
flutter push알림 onesignal 적용(2) (0) | 2022.04.25 |
---|---|
flutter push알림 oneSignal 적용 (1) (0) | 2022.04.13 |
openAPI http를 이용해 데이터 가져오기 (0) | 2022.01.26 |
CarouselSlider에 youtube 띄우기 (0) | 2022.01.26 |
스크롤을 올리거나 내릴 때 투명도를 주는 방법 (0) | 2022.01.26 |