작성
·
143
0
@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.
다른 곳에서 비슷한 사례를 찾아봐도 기본 인스턴스 프로퍼티 자체를 받는 에제가 없어서 질문드립니다
답변 2
0
0
안녕하세요!
모든 코드는 한번씩 추상화를 할때마다 자유도를 조금씩 포기합니다.
이 강의를 제작할때 code generation이 있었음에도 저는 사용하지 않았던 이유가 제가 추구하는 스타일과는 맞지 않기 때문입니다.
code generation을 꼭 사용해야만 하는건 아닙니다. 업그레이드의 개념이 아니라 내가 하려는 작업을 code generation이 해결해주고 있다면 사용했을때 유용한 요소라고 볼 수 있습니다. (중복을 없애주기 때문에).
제가 아는 선에선 제가 강의에서 구현하는 상속 스타일을 code generation으로 재현하는 방법은 없는걸로 알고있습니다.
감사합니다!
아직이라기보단 제 생각엔 앞으로도 안될걸로 생각됩니다. 제가 생각하는 상태관리의 편의성과 riverpod이 생각하는 상태관리가 가야할 방향은 조금 거리가 생긴 것 같습니다.