강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của enere61636
enere61636

câu hỏi đã được viết

[Nhà máy mã] [Trung cấp] Hoạt động rung chuyển! Các kỹ năng cần thiết để trở thành tiền vệ như quản lý trạng thái, quản lý bộ đệm, tạo mã, GoRouter và logic xác thực!

Xếp hạng phân trang

riverpod2.0으로 common의PaginationProvider만들기

Viết

·

237

1

@Riverpod(
  keepAlive: true,
)
class PaginationNofifier<T extends IModelWithId,
U extends IBasePaginationRepository<T>>
    extends _$PaginationNofifier {

  final U repository;

  PaginationNofifier({
    required this.repository,
  });

  @override
  CursorPaginationBase build() {
    final state = CursorPaginationLoading();
    paginate();
    return state;
  }

codegenertator를 이용해서 PaginationProvider만들고 있는데 초기값은 build에서 설정은 했는데 repository를 생성자로 해서 받을려고 하는데 아래처럼 생성자 정의를 해도 에러가 나네요.

The class PaginationNofifier must have a default constructor.

다른 곳에서 비슷한 사례를 찾아봐도 기본 인스턴스 프로퍼티 자체를 받는 에제가 없어서 질문드립니다

flutter하이브리드-앱

Câu trả lời 2

0

enere61636님의 프로필 이미지
enere61636
Người đặt câu hỏi

감사합니다.
3시간정도 도큐멘트 찾아보면서 해봐도 이건 방법이 없어서 여쭤봤는데 아직 안된다고 하시니 오히려 포기할수있어서 마음이 편하네요 ㅎㅎ

codefactory님의 프로필 이미지
codefactory
Người chia sẻ kiến thức

아직이라기보단 제 생각엔 앞으로도 안될걸로 생각됩니다. 제가 생각하는 상태관리의 편의성과 riverpod이 생각하는 상태관리가 가야할 방향은 조금 거리가 생긴 것 같습니다.

0

codefactory님의 프로필 이미지
codefactory
Người chia sẻ kiến thức

안녕하세요!

모든 코드는 한번씩 추상화를 할때마다 자유도를 조금씩 포기합니다.

이 강의를 제작할때 code generation이 있었음에도 저는 사용하지 않았던 이유가 제가 추구하는 스타일과는 맞지 않기 때문입니다.

code generation을 꼭 사용해야만 하는건 아닙니다. 업그레이드의 개념이 아니라 내가 하려는 작업을 code generation이 해결해주고 있다면 사용했을때 유용한 요소라고 볼 수 있습니다. (중복을 없애주기 때문에).

제가 아는 선에선 제가 강의에서 구현하는 상속 스타일을 code generation으로 재현하는 방법은 없는걸로 알고있습니다.

감사합니다!

Hình ảnh hồ sơ của enere61636
enere61636

câu hỏi đã được viết

Đặt câu hỏi