• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

GlobalKey를 이용한 StatefulWidget의 상호 연결

20.03.30 23:38 작성 조회수 203

0

안녕하세요.

Flutter도 widget tree를 구성하여 하나의 앱 시스템을 구축하는데요.

예를 들어  3개의 StateFulWidget A, B, C가 있다고 가정하면 서로 필요한 함수 및 변수를 조작하기 위햐서

GlobalKey를 사용하고 있고 구동도 잘됩니다.

GlobalKey를 static 으로 선언하고 

필요한 곳에서 (특정 위젯의 )globalkey.currentState.doSomeThing(); 이런식으로 사용합니다.

하지만 로그를 보면 'Multiple widgets use same Globalkey'  라고 빨간색으로 경고 표시가 나오네요.

구동은 이상없이 잘되는데요. 무시하고 이런방식으로 구현을 해도 되는건가요?

답변 1

답변을 작성해보세요.

0

static을 사용한 방법은 좋은 방법이 아닌 듯 합니다.

이런 때야 말로 Provider를 활용하시면 됩니다.

여기 저기서 공용으로 사용되는 변수나 함수를 포함하는 클래스 객체를 Provider를 통해서 각 화면에 제공하면 간단히 해결될 것으로 보입니다.