FutureBuilder에서 setState를 할때 FutterBuild의 Future 함수가 다시 실행될 때가 있다
해당 코드처럼 분명히 2개의 FutureBuilder를 각각 setState하였는데 원하지 않았는데 하나는 값이 변하고 하나는 변하지 않는다.

원인은 Flutter의 생명주기를 보면 알 수 있는데 setState를 하면 해당 위젯의 코드가 build() 부분부터 다시 실행된다.
따라서 FutureBuilder 또한 다시 빌드 되게 된다. 이때 FutureBuilder의 Future에 함수를 사용해서 직접 값을 넣어주면 해당 함수도 다시 실행되게 된다.
따라서 이 문제를 해결하려면 직접 함수를 전달해주는게 아니라 함수의 반환 값을 변수에 저장한 후에 FutureBuilder안에 넣어주면된다.
'Flutter' 카테고리의 다른 글
riverpod http 요청 예시 (0) | 2024.05.27 |
---|---|
SharedPreferences가 갱신되지 않을 문제 (0) | 2024.05.09 |
Flutter Checkbox padding 없애기 (0) | 2024.03.26 |
Flutter IOS 재부팅시 FCM이 수신되지 않을 때 (0) | 2024.03.25 |
Firebase Cloud Messaging(FCM) 구현 - 1 (1) | 2024.03.24 |