작성
·
108
1
paginate를 일반환하는 과정에서
meta가 중요한 곳은 따로 처리를 안하고
data를 쓰는 부분에서 <T>를 추가해서 다음과 같이
final pState=State as CursorPagination<T>;라고 사용하셨는데
사실 일반화 전에도 Restaurant만paginate할떄도 final pState=State as CursorPagination<RestaurantModel>;
을 안쓰셨는데 , 일반화 때문이 아니라도 dynamic 타입이 들어가니까 원래 써야 하는 곳이 아닌가 해서요
이때는 왜 안썼는지 궁금합니다.
강의 항상 잘보고 있습니다 감사합니다.
답변 1
1
안녕하세요!
몇가지 이유가 있습니다.
1) 당시 IDE가 제너릭을 잘 인식 못하는 버그가 있었습니다. 코드상 변경된게 없는데 갑자기 <T> 타입 추가를 요구하는 경우가 있어서 추가
2) dynamic 타입으로 인식되는게 추후 코드에서 문제가 되지 않으면 그대로 뒀습니다.
Generic 타입 유추를 컴파일러에게 맡길건지는 언어별로 추천 사항이 약간씩 다릅니다. 예를들어 TS는 최대한 직접 사용하지 않는걸 추천합니다.
제 생각도 같습니다. 꼭 명시할 필요가 없다면 명시하지 않는게 맞다고 생각합니다.
하지만 모든 프로젝트에서 이 경우가 정답은 아닙니다.
감사합니다!