티스토리

leem Achive
검색하기

블로그 홈

leem Achive

rxxm.tistory.com/m

Dev Notes

구독자
4
방명록 방문하기

주요 글 목록

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

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.