Provider의 ChangeNotifier와 Dispose와 비동기 함수
Flutter를 사용해서 코드를 작성하는 도중, 다음과 같은 에러가 발생했다.{Provider} was used after being disposed. notifyListener()를 호출하는 비동기 함수를 실행한 뒤, 함수 실행이 완료되기 전에 다른 페이지로 이동했기 때문에, dispose()가 호출된 다음 notifyListener()가 호출되어 발생한 에러 문구다. State에는 mounted라는 상태값이 있어서 dispose()가 된 이후에는 setState()를 호출하지 않을 수 있었으나, Provider는 기본적으로 dispose()가 실행됐는지 확인할 방법을 알려주지 않는다. 비동기 함수를 다루다보면 쉽게 만날 수 있는 문제여서 그런지, 에러 문구를 구글링해보니 쉽게 대응 방법을 찾을 수..
2024.06.20