해당 글은 BottomNavigationBar 와 go_router 를 사용하는것을 기준으로 한다.Flutter 에서 직접 관리하는 package 이다. (Flutter 업데이트로 인한 지원이나 호환성 걱정이 없다)앱 구조를 설계하다보면 Navigation 의 복잡함과
단일 값(single value) 변경 알림 class 로 value 가 == 연산자로 계산되며, 이전 value 값과 같이 않을경우 리스너에 알린다. 이러한 사항 때문에 value 가 변경 가능한 데이터 타입일 경우 리스너에 알리지 않는다.때문에 만약 데이터 타입이
상태관리에 주로 사용되며, ValueNotifier 의 상위 호환 class 라고 이해하면 된다.ChangeNotifier 는 notifyListeners() 메서드를 호출하여 상태가 변경되었음을 알린다.또한 하나의 상태를 관리하는것이 아닌, 여러 상태를 관리할 수 있
부모 위젯의 크기에 따라 달라질 수 있는 Widget Tree 를 빌드한다.builder 함수는 다음과 같은 상황에서 호출된다. 1\. 부모 widget 이 업데이트 되었을때. 2\. 부모 widget 이 다른 constraints 를 전달할때. 3\. wi
Skeleton 은 컨텐츠가 아직 로딩되지 않아 이를 대신하여 보여주는 UI를 통칭한다.이로써 UX(User Experience)를 개선할 수 있다.(예를 들어 API 지연으로 인해 데이터를 보여줄 수 없자 이를 대신하여 데이터의 임시 완성도(뼈대)를 보여주게 된다.)
핵심은 Presentaion 과 Business Logic 을 분리하고, 코드를 쉽게 테스트하고 재사용하기 위한 Design Pattern(MVVM 패턴과 유사)이다. (MVVM Pattern 에서 viewModel 을 BLoC 으로 대체한다고 생각하면 된다)Busin
한글 텍스트를 입력하다 보면 자연스러운 줄바꿈이 되지 않는 현상이 있다.지정된 범위 내에서 다음 텍스트를 렌더링 할 공간이 없으면 개행을 하게되고,있을 경우 렌더링을 하게된다.Before 부분을 보면 텍스트가 렌더링 되는데 이때 끊기는 곳이 단어와 상관없이다음 텍스트를