Tiny Bunny
[Flutter 개발일지] 노트 화면에서 책 정보가 표시되지 않는 문제 해결
·
Flutter/개발 일지
특정 노트에 연결된 책(Book) 정보가 화면에 표시되지 않는 문제를 발견했다. 처음에는 단순한 UI 버그라고 생각했지만, 문제의 원인은 백엔드 데이터 반환 방식과 위젯 상태 관리의 차이에 있었다. 이번 글에서는 이 문제를 어떻게 해결했는지 트러블슈팅 과정을 정리해보았다.1. 문제 상황노트에는 bookId가 포함되어 있지만, 화면에서 책 정보가 표시되지 않음bookId를 기반으로 책 정보를 가져와야 하지만, UI에서 아무것도 렌더링되지 않음특정 노트를 선택해도 bookList(책 목록)에서 해당 bookId를 찾지 못하는 경우가 발생2. 원인 분석1) bookId가 존재해도 UI가 업데이트되지 않음bookId가 null이 아니면 _getBookById()를 호출하여 책 정보를 가져오도록 구현했음하지만 _..
[Flutter 개발일지] Riverpod 리팩토링: StateNotifier 통합 적용
·
Flutter/개발 일지
Flutter에서 Riverpod를 활용해 노트 작성, 수정, 삭제 등의 기능을 구현할 때, 여러 가지 방식이 혼용되면 유지보수가 어려워질 수 있다. 이번에 노트 관련 ViewModel을 통일하고, StateNotifier 기반으로 관리하는 방식으로 리팩토링했다. 이 글에서는 기존 코드의 문제점, 변경 사항, 흐름을 정리해본다.기존 코드의 문제점1. 비일관적인 상태 관리노트 목록 → StateNotifierProvider노트 상세 → FutureProvider.autoDispose.family노트 작성 → StateNotifierProvider 없이 직접 호출🔥 문제점:같은 기능을 다르게 관리하니 유지보수가 어려움FutureProvider는 한 번만 호출되고 상태 변경을 감지하지 않음 → UI 업데이트..
[Flutter 개발일지] 노트 저장 후 목록이 반영되지 않는 문제 해결
·
Flutter/개발 일지
이번 개발 과정에서 노트 작성 후 목록이 갱신되지 않는 문제를 해결하기 위해 Riverpod 상태 관리 방식을 통일하고,fetchNotes() 호출 로직을 명확하게 정리했다. 이 과정에서 발생한 문제, 원인 분석, 해결 과정, 그리고 최종 적용한 코드까지 정리해본다. 1. 문제 상황노트 작성 후 목록이 갱신되지 않음fetchNotes()가 실행되지 않거나, 실행되었어도 UI에 반영되지 않음fetchNotes() 실행 여부를 확인하기 위해 로그를 추가했으나, 실행되지 않음2. 원인 분석1) fetchNotes()가 실행되지 않음initState()에서 fetchNotes(userId)가 한 번만 실행됨새로운 노트를 작성해도 fetchNotes()가 다시 실행되지 않음2) _handleNoteCompleti..
[Flutter 개발일지] 독서 노트 작성, Riverpod와 공통 다이얼로그로 관리하기
·
Flutter/개발 일지
📖 [Flutter 개발일지] 독서 기록 앱 만들기 - 노트 기능 구현공통 컴포넌트와 Riverpod 상태 관리로 메모 작성/조회 기능 효율적으로 개발하기1. 공통 컴포넌트 NoteBookInfo로 코드 재사용하기공통 컴포넌트 목적 글쓰기 페이지와 글보기 페이지에서 책 정보를 표시하는 UI가 필요할 때, (리팩토링 전) 중복된 코드는 유지보수가 어려워지고 코드도 지저분해져서 간결화 필요.NoteBookInfo라는 공통 컴포넌트를 만들어서 한 번만 UI를 작성하고, 필요한 곳에서 재사용할 수 있도록 함. 코드가 깔끔해지고, 유지보수도 쉬워짐NoteBookInfoNoteBookInfo 위젯은 책 정보(제목, 저자, 이미지)를 표시하는 역할책 추가/변경/삭제 버튼도 이 위젯에서 관리상황동작Note 추가한 책..