본문 바로가기
Flutter/Flutter FAQ

Flutter 플러터에서 이전 페이지로 돌아가고 새로고침하는 방법은 무엇인가요?, How to go back and refresh the previous page in Flutter?

by 베타코드 2023. 12. 11.
반응형

질문


나는 홈페이지가 있습니다. 클릭하면 탐색을 통해 다른 페이지로 이동하고, 그곳에서 몇 가지 작업을 수행한 다음 뒤로 버튼을 누르면 홈페이지로 돌아갑니다. 그러나 문제는 홈페이지가 새로 고쳐지지 않는다는 것입니다.

뒤로 버튼을 누를 때 페이지를 다시로드하고 홈페이지를 새로 고칠 수 있는 방법이 있을까요?


답변


첫 번째 페이지로 돌아갈 때 이렇게 API 호출을 트리거할 수 있습니다. 의사 코드

class PageOne extends StatefulWidget {
  @override
  _PageOneState createState() => new _PageOneState();
}

class _PageOneState extends State<PageOne> {
  _getRequests()async{

  }
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      body: new Center(
        child: new RaisedButton(onPressed: ()=>
        Navigator.of(context).push(new MaterialPageRoute(builder: (_)=>new PageTwo()),)
        .then((val)=>val?_getRequests():null),
      ),
    ));
  }
}

class PageTwo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    //somehwere
    Navigator.pop(context,true);
  }
}

또는 API가 자주 업데이트되는 경우 스트림을 사용할 수 있으며, 새로운 데이터는 자동으로 ListView 내에서 업데이트됩니다.

예를 들어 firebase를 사용하여 다음과 같이 할 수 있습니다.

stream: FirebaseDatabase.instance.reference().child(
      "profiles").onValue

데이터베이스에서 무언가를 변경할 때마다 (프로필 편집 페이지에서 예를 들어) 프로필 페이지에 반영됩니다. 이 경우 onValue를 사용하고 있으므로 변경 사항을 계속 감시하고 대신 업데이트를 수행합니다.

반응형

댓글