반응형
이번 글에서는 Provider를 사용 방법에 대해 설명합니다. ref 객체 가져오기 Provider를 사용하려면 먼저 ref 개체를 가져와야 합니다. 이 ref 객체를 통해 위젯 또는 다른 Provider와 상호 작용할 수 있습니다. Provider로 부터 ref 객체 전달 받기 모든 Provider는 ref 객체를 파라미터로 전달 받습니다. final valueProvider = Provider((ref) { // 다른 Provider를 얻으려면 `ref`를 사용합니다. final repository = ref.watch(repositoryProvider); return repository.get(); }); 이 파라미터 ref 객체는 다른 객체로 전달 할 수도 있습니다. 일반적인 사용 사례는 Prov..
⟪은하수를 여행하는 히치하이커를 위한 안내서⟫ 영화에는 거대한 슈퍼 인공지능 컴퓨터가 등장합니다. 이 컴퓨터는 수백만년 전에 초월적인 지성체들이 삶과 우주, 그리고 모든 것에 대해 끊임없는 논쟁을 한 결과물로 탄생했습니다. 이들은 결국 놀랄만큼 거대한 슈퍼 컴퓨터를 만들어 답을 찾으려 했고, 그 결과 이 인공지능 컴퓨터는 750만년이라는 시간을 들여 계산을 해서 다음과 같은 결론을 내렸습니다. “삶과 우주, 그리고 모든 것에 대한 답은 바로 42입니다.” 이 내용을 토대로 GPT-4에게 비슷한 질문을 던지는 시도를 해보았습니다. "은하수를 여행하는 히치하이커를 위한 안내서"라는 책을 알고있나요? "은하수를 여행하는 히치하이커를 위한 안내서"는 영국 작가 더글러스 아담스(Douglas Adams)가 쓴 과..
Provider는 Riverpod 애플리케이션에서 가장 중요한 부분입니다. Provider는 상태(state)를 캡슐화하여 해당 상태를 수신할 수 있도록 하는 객체(object)입니다. Provider를 사용하는 이유? 여러 위치에서 해당 상태에 쉽게 접근할 수 있습니다. Provider는 싱글톤(Singleton), 서비스 로케이터(Service Locator,), 의존성 주입(Dependency Injection) 또는 InheritedWidgets와 같은 패턴을 완전히 대체할 수 있습니다. 이 상태를 다른 Provider의 상태와 간단하게 결합할 수 있습니다. 여러 상태를 병합하여 하나의 상태에 정리하는데 어려움을 겪은 적이 있다면, Provider는 이를 위한 기능을 제공하고 있습니다. 앱의 성능..
빠르게 변화하는 오늘날의 세상에서 균형을 찾는 것은 어려운 일입니다. 우리는 일과 가족, 취미, 사회적 약속 등 시간과 에너지에 대한 요구가 너무 많습니다. 그러다 보면 부담감을 느끼거나 지나치게 긴장하기 쉽습니다. 이번 포스팅에서는 삶의 균형을 이루기 위해 시간과 에너지의 우선순위를 정하는 전략을 살펴보고자 합니다.현재 약속 평가하기균형을 찾기 위한 첫 번째 단계는 현재 약속을 점검해 보는 것입니다. 업무 프로젝트, 가족에 대한 책임, 취미, 사교 행사 등 시간과 에너지를 소비하는 모든 항목의 목록을 작성하세요. 이렇게 하면 현재 리소스를 어디에 투자하고 있는지 명확하게 파악할 수 있습니다.우선순위 파악현재 약속을 평가했으면 이제 우선순위를 파악할 차례입니다. 여러분에게 가장 중요한 것은 무엇인가요? ..
Riverpod를 Dartpad에서 온라인으로 체험해 볼 수 있습니다. 패키지 설치하기 Riverpod 패키지 종류 사용 형태에 따라 아래 Riverpod 패키지 중 하나를 설치합니다. 패키지명 설명 flutter_riverpod 기본 패키지 hooks_riverpod Riverpod와 flutter_hooks을 함께 사용 riverpod Dart만 사용(Flutter 관련 클래스는 전혀 없음) flutter_hooks: 플러터 훅은 widget의 라이프사이클을 관리하는 새로운 종류의 객체입니다. 사용 방법은 React hooks과 매우 흡사합니다. fluuter_hooks가 제공하는 편리한 훅 함수를 사용할 수 있는 hooks_riverpod 패키지를 설치합니다. flutter_riverpod 패키지 ..
Riverpod(Provider보다 개선된)는 Flutter/Dart용 반응형 캐싱 프레임워크입니다. 네트워크 요청을 자동으로 가져오고, 캐싱하고, 결합하고, 재계산하는 동시에 오류를 처리할 수 있습니다. 최신 애플리케이션에는 사용자 인터페이스를 렌더링하는 데 필요한 모든 정보가 거의 제공되지 않습니다. 대신 데이터를 서버에서 비동기적로 가져오는 경우가 많습니다. 문제는 비동기 코드 작업이 어렵다는 것입니다. Flutter는 상태를 저장하는 몇 가지 방법을 제공하지만, 그 외에는 별다른 기능을 제공하지 않습니다. 따라서 많은 과제가 해결되지 않은 채로 남아 있습니다. 비동기 요청은 UI가 새로 고쳐질 때마다 다시 실행하는 것이 비합리적이므로 로컬에 캐시해야 합니다. 캐시가 있으므로 주의하지 않으면 캐시가..