개발공부/flutter(3)
-
Riverpod(provider)
Provider 가장 기본 베이스가 되는 Provider 아무 타입이나 반환 가능 Service,계산한 값등을 반환할 때 사용 반한값을 캐싱할때 유용하게 사용된다 - 빌드 횟수 최소화 가능 여러 Provider의 값들을 묶어서 한번에 반환값을 만들어낼 수 있다 StateProvider UI에서 "직접적으로" 데이터를 변경할 수 있도록 하고싶을 때 사용 단순한 형태의 데이터만 관리 (int,double,String등) Map,List등 복잡한 형태의 데이터는 다루지 않음 복잡한 로직이 필요한경우 사용하지 않음 -number++정도의 간단한 로직으로만 한정 StateNotifierProvider StateProvider와 마찬가지로 UI에서 "직접적으로" 데이터를 변경할 수 있도록 하고싶을때 사용 복잡한 형..
2023.05.25 -
copyWith()란?
copyWith()는 Immutable 객체를 쉽게 수정하기 위한 메서드이다. Immutable 객체는 생성 후 내부 상태를 변경할 수 없는 객체이다. 상태 변경이 필요한 경우에는 새로운 객체를 생성해야 한다. 이때 copyWith() 메서드를 사용하면, 기존 객체를 복제하여 일부 속성을 변경한 새로운 객체를 생성할 수 있다. 이를 통해 기존 객체는 변경되지 않고, 수정된 새로운 객체가 생성된다. copyWith() 메서드는 해당 객체의 모든 필드를 선택적으로 변경할 수 있는 기능을 제공한다. 메서드의 호출시 새로운 값을 전달하면, 해당 필드를 변경한 새로운 객체가 반환된다. 만약 전달된 필드 값이 기존 객체와 동일하다면, 기존 객체 자체를 반환한다. 이를 통해 불필요한 객체 생성을 방지하여 성능을 향상..
2023.03.15 -
provider 와 같은 것이 필요한가?
state management 를 위해서 provider를 쓴다 . state management: 위젯에서 필요한 데이터를 쉽게 엑세스 하는 기능, 변한 데이터를 맞춰 UI를 다시 그려야한다. 프로바이더는 위젯이 아닌 필요한 데이터를 메서드를 쉽게 엑세스 하는 기능을 제공 데이터가 바뀌면 데이터가 바뀐 정보를 필요한 위젯에 제공해서 필요할때 위젯이 리빌딩하게 해준다.(BLOC) 프로바이더는 위젯이고 플러터에 특화 되어있다. 최상위에 return provider create :(context)=>Dog(name:hoho,age:5) . . ${provider.of(context).age} 넣어야 하는 이유는 프로바이더는 위젯트리를 타고 가면서 인스턴스를 찾기 때문에 찾는 대상을 말해줘야 한다. 만약 두개..
2023.02.07