게시글
질문&답변
결제하기 버튼 누른후 주문탭 바로 갱신
void initState() { super.initState(); ref.read(orderProvider.notifier).paginate(forceRefetch: true); }제가 원했던 기능이네요ㅎㅎ 좋은 질문 해주셔서 감사합니다.저는 위와 코드와 같이 order screen 위젯을 StatefulWidget으로 변경하고 initState에서 새로고침을 실행하는 방법을 사용했습니다. 이게 더 일반화하는 방법인 것 같아서요.
- 1
- 3
- 240
질문&답변
섹션18 동영상플레이어 버그 질문
이거 똑같은 버그 생기는데 위 답변으로도 해결 안 되는 분들은 didUpdateWidget의 if체크문에서 비디오 컨트롤러 dispose 해보시기 바랍니다. 아래 코드 참조하세요: @override void didUpdateWidget(covariant SVideoPlayer oldWidget) { super.didUpdateWidget(oldWidget); if (oldWidget.video.path != widget.video.path) { videoPlayerController.dispose(); initializeController(); } }
- 1
- 3
- 257
질문&답변
initializeController 내부 setState의 필요성
인프런 AI 인턴이 제공한 링크(setState 호출 시 build 실행 관련 질문)의 이전 답변에서 힌트를 얻었습니다. 제 생각의 흐름이 맞는지 한번 확인해 주시면 감사하겠습니다.(사진) initState는 동기 함수이므로 initializeController 내부의 await videoPlayerController.initialize();가 채 실행 완료되지 않았는데 build 단계까지 갈 수 있다.이런 경우를 대비하여 await videoPlayerController.initialize(); 이후에 setState((){});를 실행하여 초기화된 컨트롤러를 화면에 반영한다. 여기까지 제 생각이 맞다면 추가 질문이 있습니다-> await videoPlayerController.initialize(); 이후에 setState((){});를 실행하는 대신, initState를 async 함수로 만들고 initializeController을 await하면 initializeController 내부의 await videoPlayerController.initialize(); 이후에 setState((){});를 실행하지 않아도 되나요? 다음과 같은 코드처럼 말이죠: 1.(사진)initState를 async 함수로 만듦. 2.(사진)대신 initializeController 내부에는 await videoPlayerController.initialize(); 이후의 setState((){});를 생략함. 감사합니다 : )
- 0
- 3
- 80
질문&답변
경로 기반 라우팅과 명령형(Imperative), 선언형(Declarative)과의 관계
인프런 AI 인턴 요놈 봐라~? 너 답변 좀 친다?
- 0
- 3
- 97