상태관리(7)
-
[005] 리액트 (React) 배우기 - 함수형 컴포넌트 useState Hook(훅) (상태 업데이트)
안녕하세요~ totally 개발자입니다. State 함수형 컴포넌트 State(상태)에 관해 살펴보도록 하겠습니다. 리액트는 컴포넌트를 조합하여 페이지를 만들어가는 방식이고 각각의 컴포넌트의 상태를 관리해서 업데이트하는 방식입니다. 바로 useState를 사용하면 되는데, 기존에 만든 form을 사용해서 form이 제출되었을 때 아래에 입력한 사용자의 정보를 출력해줄 수 있도록 상태를 업데이트하여 UI를 재랜더링해줄 수 있도록 합니다. 기존 클래스형 컴포넌트에서는 setState를 사용해서 업데이트하는 반면 함수형 컴포넌트의 useState를 사용하는 경우에는 setState용의 함수를 지정하기 때문에 그 함수를 사용해서 업데이트해야 합니다. Step 1: 먼저 import React, { useStat..
2023.02.23 -
[036] 플러터 (Flutter) 배우기 - 상태 관리6 (GetX 사용 - Reactive State Manager & RxList 사용)
안녕하세요~ totally 개발자입니다. GetX - Reactive State Manager 저번 시간에는 Simple State Manager에 대해 살펴보았고, 이번 시간에는 Reactive State Manager에 대해 살펴보도록 하겠습니다. Simple State Manager에서는 GetBuilder와 update 메소드를 통해 UI를 업데이트해주었던 반면, Reactive State Manager에서는 Data Stream처럼 데이터를 주기적으로 관찰(Observe)하여 데이터가 변경된 경우에 UI를 실시간으로 업데이트해줍니다. 여기서 알아야 할 몇 가지 키워드가 있는데 Rx는 ReactiveX이고, Obs는 Observable입니다. 이 GetX Reactive State Manager의..
2023.02.20 -
[035] 플러터 (Flutter) 배우기 - 상태 관리5 (GetX 사용 - Simple State Manager, GetBuilder 사용)
안녕하세요~ totally 개발자입니다. GetX - Simple State Manager, GetBuilder 사용 GetX는 상태관리 이외에 코드 간결화 등의 목적으로도 많이 사용되며 오늘은 상태관리, 먼저 GetBuilder를 활용한 Simple State Manager에 대해 살펴보겠습니다. Step 1: pubspec.yaml에 get을 등록합니다. Step 2: countController.dart 파일을 생성해주고 코드를 다음처럼 작성해줍니다. 10번째 줄에 보시면 update()라는 함수가 사용되는데 이것을 호출해야 상태가 업데이트됩니다. increase, decrease 함수를 각각 적어주었습니다. Step 3: main.dart 파일을 열어서 다음처럼 import해줍니다. Step 4:..
2023.02.19 -
[034] 플러터 (Flutter) 배우기 - 상태 관리4 (riverpod 사용)
안녕하세요~ totally 개발자입니다. riverpod 오늘 이 시간에는 river_pod를 사용하여 상태를 관리하는 방법에 대해 간단하게 살펴보도록 하겠습니다. Riverpod도 역시 상태 관리 라이브러리로서, Provider와 사용성이 같고 Provider의 문제점을 개선한 버전이라고 보시면 됩니다. 여기에서는 flutter_riverpod 라이브러리로 진행하도록 하겠습니다. 기본적으로 Provider에 대한 이해가 필요한데, 일반적인 Provider는 값을 읽을 수는 있으나 수정할 수는 없습니다. 값을 읽고 수정하려면 상태를 변경할 수 있는 Provider인 StateProvider를 사용해야 하며, 일부 로직을 같이 사용하는 경우에는 StateNotifierProvider를 사용하시면 됩니다. ..
2023.02.17 -
[033] 플러터 (Flutter) 배우기 - 상태 관리3 (get_it 사용)
안녕하세요~ totally 개발자입니다. get_it 오늘은 get_it 패키지를 사용하는 방법에 대해 살펴보도록 하겠습니다. get_it은 DI(Dependency Injection): 의존성 주입 Library로서 InheritedWidget 및 provider를 대체할 수 있으며 주된 사용으로는 REST API 클라이언트 등을 포함한 데이버베이스 서비스 객체에 접근해서 사용할 때, View, BLoC 등 여러가지 객체에 접근해야 될 때 사용합니다. Step 1: 먼저 pubspec.yaml에 get_it, http 패키지를 설치해줍니다. Step 2: 다음처럼 디렉토리를 구성해줍니다 Step 3: 먼저 model 폴더 내에 있는 album.dart를 아래처럼 작성해줍니다. Step 4: servic..
2023.02.05 -
[031] 플러터 (Flutter) 배우기 - 상태 관리1 (BloC 패턴 적용)
안녕하세요~ totally 개발자입니다. BLoC 패턴 오늘은 State Management(상태 관리) 방법 중 하나인 BLoC 패턴에 대해 살펴보도록 하겠습니다. BLoC 패턴은 추후 살펴볼 Provider 패턴보다는 다소 복잡할 수 있지만 유지 보수에 있어서는 매우 유용한 방법 중 하나입니다. BLoC 개념을 보자면 UI Screen(View), BLOC(Presenter, ViewModel), Data Layer 부분인 Repository(Data Handler), Provider(Data Provider)가 존재합니다. Provider (Data Provider) 데이터 제공 및 수집, 데이터 처리 Repository (Data Handler) Data Provider에서 제공 받은 데이터를 필..
2023.02.03