종속성 관리, 의존성 주입(put, lazyPut, putAsync, create) 목차 1. Get.put() 2. Get.lazyPut() 3. Get.putAsync() 4. Get.create() provider 방식과 달리 getX는 context에 의존하지 않아서 Controller를 사용할 때만 선언하고 제거하기가 용이하다. 이러한 방식을 종속성 인스턴스 선언 방법이라고 하며, 총 4가지 방식이 제공된다. Get.put() Get.lazyPut() Get.putAsync() Get.create() 4가지 방식을 구현하기 위해 아래에 코드로 4개의 버튼을 구현하였다. (main.dart) import 'package:flutter/material.dart'; import 'package:flu..
반응형 상태 관리 목차 1. 버튼 카운트 예제 2. 이벤트 트리거 3. 다양한 자료형 선언과 변경 방법 반응형 상태 관리 방식의 장점 1. 값이 바뀌지 않는다면 굳이 update가 발생하지 않기 때문에 리소스 낭비를 줄일 수 있다는 것이다. 2. 이벤트를 트리거 할 수 있다. 대신 단순 상태 관리 방식에 비해 코드 구현이 다소 직관적이지 않을 수 있다. 1. 버튼 카운트 예제 (lib/main.dart) import 'package:flutter/material.dart'; import 'package:flutter_getx/src/home.dart'; import 'package:get/get.dart'; void main() { runApp(const MyApp()); } class MyApp ext..
단순 상태 관리 목차 1. 버튼, 페이지 구현 2. Controller 영역 구현 3. 위젯 단위로 분리하기 4. id값을 통한 독립적 상태 관리 1. 버튼, 페이지 구현 버튼을 누르면 카운트가 되는 간단한 예제를 GetX 방식으로 구현해보자. (main.dart) import 'package:flutter/material.dart'; import 'package:flutter_getx/src/home.dart'; import 'package:get/get.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildCo..
환경 설정, 라우트 관리, Argments, transition, 동적 url 전달 목차 1. GetX의 장점 2. 세팅 하기 3. 라우트 관리 4. transition 5. Argments 전달 6. 동적 url 전달 1. GetX의 장점 Flutter를 위한 매우 가볍고 강력한 라이브러리이며 강력함을 뒷받침 하고 있는 3가지 기본 원칙이 있으며 다음과 같습니다. 첫째. 생산성 - 간결하게 표현할 수 있습니다. - 컨트롤러들을 사용하고 반환시켜주는 처리를 신경 쓰지 않아도 알아서 GetX에서 사용되지 않을 때 제거해주기 때문에 개발자분들은 더욱더 개발에만 신경 쓸 수 있습니다. 둘째. 성능 - GetX는 성능과 최소한의 리소스 소비에 중점을 둡니다. - GetX는 Streams나 ChangeNotifi..
const 생성자를 사용하는 이유 Error : 'Prefer const with constatnt constructors' 위젯을 const 로 선언하면 불필요한 위젯의 rebuild를 줄임으로써 성능 향상에 도움을 줄 수 있다! const 키워드를 사용하여 위젯을 만들면 앱의 수명(lifetime) 동안 위젯이 변경되지 않는다. 이를 통해 플러터는 런타임이 아닌 컴파일 타임에 위젯 작성을 수행하므로 빌드 프로세스를 최적화할 수 있다!(const는 런타임에서 정의되는 final 상수와 달리, 컴파일 타임에서 상수를 정의하기 때문) 위의 이미지에서 보이는 Text 위젯의 경우 앱의 수명 동안 변경되지 않는 상수 문자열이기 때문에 IDE에서 위젯을 const로 선언할 것을 권장하고 있다. 컴파일러는 모든 ..
[React] 스프레드 연산자와 상태 업데이트, 불변성 기존 값을 그냥 단순하게 수정하는 방법으로는 React가 상태가 변경되었음을 감지할 수 없어서 구성 요소를 리랜더링 할 수 없다. 상태 개체에 대한 참조가 변경되었음이 확인이 되어야만 리랜더링을 진행할 수 있는데, 이를 위해 스프레드 연산자를 사용한다. 리렌더링 불가능 한 경우 const object = { a: 1, b: 2 }; object.b = 3; 리렌더링 가능한 경우 const object = { a: 1, b: 2 }; const nextObject = { ...object, b: 3 }; 스프레드 연산자는 기존의 state값은 유지시키고 그것의 복사값을 가진 새 개체를 만들어 낸다. 이 때 상태 개체에 대한 새로운 참조가 만들어지므로 ..