Dart & Flutter

[Error] Use context before initState() completed

daehwi 2023. 4. 2. 19:57
반응형

오류

효빈이와 진행하는 사이드 프로젝트 도중에 마주한 오류이다.

위 오류를 대충 해석해보자면, initState() 메소드가 끝나기 전에 특정 Inherited 객체를 호출해서 오류가 발생했다.. 정도로 해석이 가능하다.

 

원인

결론부터 말하자면, initState()안에서 Provider을 사용하기 위해 context를 호출 한 것이 문제가 되었다.

일반적으로 Flutter에서는 initState()가 종료된 이후 context를 사용할 수 있기 때문에 오류가 발생한 것으로 보인다.

 

해결법

나는 우선 context 뒤에 “listen: fasle” 옵션을 추가해 오류를 해결했다.

 

다만, 이런식으로 initState() 안에서 context를 사용하는 것이 바람직하지는 않은 것 같다.

추후에 다른 방식으로 Provider의 값을 사용하도록 수정하고, 해당 오류에 대해 더 조사해 봐야겠다.

 

반응형