page route시 provider가 사용이 안되는 문제가 발생했다. 온갖 삽질을 다하다가 오늘도 역시 스택오버플로우에서 찾았다!!


참조 출처: 스택오버플로우

지금까지 indexedstack 이나 tab을 사용해서 페이지를 만들었었다. multiprovider를 main에 연결 시켜놔서 지금까지 문제가 없다가 push를 통해 페이지를 이동하니 provider가 사용이 안되는 문제가 발생.

해결방법

  • 알고보면 아주 심플한 방법이었다
  • page route 시 provider 를 같이 보내준다.(이표현이 맞나?ㅎㅎ)

예제코드


onPressed: (){
    Navigator.push(context, MaterialPageRoute(
        builder: (context)=>ChangeNotifierProvider.value(
            value:Datas(), child: ManageGuild(gid: _datas.guildId,)
        )
    ));
},
  • 핵심은 아래 코드
  • builder: (context)=>ChangeNotifierProvider.value(value:Datas(), child: ManageGuild())
Prev Next